Liferay Uber模块:包不存在

时间:2017-07-24 10:35:41

标签: liferay osgi build.gradle liferay-7 bnd

我写了一个使用org.apache.http.client.methods.HttpPost的Liferay 7模块 所需的OSGi组件are

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

Uber模块

现在我正在尝试使用Option 3 - Make An Uber Module构建包含这些JAR和我的代码的Uber模块。

所以,我手动将两个JAR下载到我的项目中,然后将其添加到我的build.gradle

runtime group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.3'
runtime group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.6'

...这是我的bnd.bnd

Include-Resource: @httpclient-osgi-4.5.3.jar
Include-Resource: @httpcore-osgi-4.4.6.jar

问题

当我尝试编译时,在compileJava步骤中我立即得到:

error: package org.apache.http does not exist

除了compileOnly中的runtime群之外,添加build.gradle群似乎可以解决问题,但这是正确的做法吗?

1 个答案:

答案 0 :(得分:0)

你可能想读这个: Embed thirdparty JAR using BND 蒂姆在那里提到,你还需要将嵌入式jar添加到bundle类路径