如何在Liferay中以模块化的方式使用第三方组件?



我写了一个使用org.apache.http.client.methods.HttpPost的Liferay 7模块。

所以我下载了 httpclient-osgi JAR 并将其放入deploy/中,但是当我尝试启动它时,我得到:

org.osgi.framework.BundleException: Could not resolve module: org.apache.httpcomponents.httpclient [1088]
Unresolved requirement: Import-Package: org.apache.http; version="[4.4.0,4.5.0)"

所以我 mvnrepository.com 搜索org.apache.http.
问题:似乎不存在这样的组件。

除了将类包含在Liferay模块中之外,我没有其他选择吗?
这样做听起来与OSGi原则背道而驰:如果我的100个Liferay模块使用httpclient,那么在每个模块中包含httpclient听起来并不是很模块化。

我是不是想错了?
如何在Liferay中以模块化的方式使用第三方组件?

您要搜索的是包名称而不是 jar 名称。 Apache httpclient 需要 httpcore。

众所周知,这些捆绑包可以很好地协同工作:

mvn:org.apache.httpcomponents/httpclient-osgi/4.5.3
mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6


https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient-osgi/4.5.3 https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore-osgi/4.4.6

最新更新