【发布时间】:2018-01-04 02:14:13
【问题描述】:
在 Liferay 7 (DXP sp4) 中,我需要安装这些 OSGi 模块:
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient-osgi/4.5.3
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore-osgi/4.4.6
所以,我下载了它们,将httpcore-osgi-4.4.6.jar 放入deploy/,它成功启动,如在 Gogo Shell 中所见。然后我将httpclient-osgi-4.5.3.jar 放入deploy/,然后……
ERROR [fileinstall-/home/nico/liferay/osgi/modules][org_eclipse_equinox_metatype:97] Unable to parse metadata XML at "bundleentry://540.fwk517213600/OSGI-INF/metatype/metatype.properties" for bundle ID "540" with symbolic name "org.apache.httpcomponents.httpclient".
org.xml.sax.SAXException: Fatal Error: URI=null Line=1: Content is not allowed in prolog.
at org.eclipse.equinox.metatype.impl.DataParser$MyErrorHandler.fatalError(DataParser.java:856)
我不知道这个 metatype.properties 文件是什么,也不知道 Equinox 为何尝试将其解析为 XML。
这个 JAR 不是标准的 OSGi 模块吗?
或者 Liferay 是否需要某种不同的 OSGi 模块?
是我的配置有问题吗? (新安装)
我应该忽略这个错误吗?
最令人难以置信的是模块仍然启动:
INFO [fileinstall-/home/nico/liferay/osgi/modules][BundleStartStopLogger:35] STARTED org.apache.httpcomponents.httpclient_4.5.3 [540]
【问题讨论】:
-
有几个关于这个错误的报告,例如stackoverflow.com/questions/5138696/… 和 stackoverflow.com/questions/3030903/…。这对这个下载的组件没有帮助,但似乎提出有关包装的问题似乎是合理的。在部署过程中没有发生任何特定于 Liferay 的事情,正如您在堆栈跟踪中看到的那样,它是由 equinox 部署的。
-
@OlafKock:我在issues.apache.org/jira/browse/HTTPCLIENT-1862 提交了一个问题,感谢您的反馈!
-
@OlafKock:该问题已以
Won't fix关闭,他们认为问题出在 OSGi 容器或 Apache Felix maven-bundle-plugin 上。 -
我知道这是一个旧的了,我们收到了这个错误信息。如果您更新 liferay 7.2,您可以使用具有本地 http 客户端的 JDK11。
-
在 Equinox 项目 bugs.eclipse.org/bugs/show_bug.cgi?id=551228987654326@ 开票
标签: liferay osgi apache-httpclient-4.x equinox liferay-7