启动OSGi模块httpclient-osgi-4.5.3.jar时Liferay SAXException

时间:2017-07-28 06:19:38

标签: liferay osgi apache-httpclient-4.x equinox liferay-7

在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]

1 个答案:

答案 0 :(得分:0)

该问题似乎源于MetaTypeProviderImpl.java:91。该类正在加载所有(*)元数据文件,并将其读取为XML。