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

Gradle 如何在Liferay中以模块化方式使用第三方组件?,gradle,liferay,osgi,Gradle,Liferay,Osgi,我编写了一个Liferay 7模块,使用 因此,我下载了并将其放入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)" 所以我在

我编写了一个Liferay 7模块,使用

因此,我下载了并将其放入
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

问题:似乎不存在这样的组件

我没有别的选择了吗?
这样做听起来与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


@LazerBanana:您的链接指向一个问题,该问题的公认答案是重定向到Apache曾经发布过的所有软件列表的链接:顺便说一句,该树中的大多数JAR可能不是OSGi组件。