0

我正在尝试从 liferay 7.x 门户运行我的 6.2.5 portlet 项目。

在运行时环境下的项目方面 Liferay 7.x 服务器不可见。每当我尝试将 war 文件部署到 Liferay 7.0 ce 门户的部署文件夹中,或者只是从 liferay ide 运行我的项目时,热部署异常都会被抛出 javax.xml.parsers:

FactoryConfigurationError:找不到 javax.xml.parsers.DocumentBuilderFactory 的提供程序

Caused by: javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
    at org.quartz.xml.XMLSchedulingDataProcessor.initDocumentParser(XMLSchedulingDataProcessor.java:168)
    at org.quartz.xml.XMLSchedulingDataProcessor.<init>(XMLSchedulingDataProcessor.java:159)
    at org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin.processFile(XMLSchedulingDataProcessorPlugin.java:313)
    at org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin.start(XMLSchedulingDataProcessorPlugin.java:246)
    at org.quartz.plugins.SchedulerPluginWithUserTransactionSupport.start(SchedulerPluginWithUserTransactionSupport.java:144)
    at org.quartz.core.QuartzScheduler.startPlugins(QuartzScheduler.java:2407)
    at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:568)
    at org.quartz.impl.StdScheduler.start(StdScheduler.java:142)
    at org.quartz.ee.servlet.QuartzInitializerListener.contextInitialized(QuartzInitializerListener.java:198)
    at com.liferay.portal.kernel.servlet.SecurePluginContextListener.instantiatingListener(SecurePluginContextListener.java:355)
    at com.liferay.portal.kernel.servlet.SecurePluginContextListener.instantiatingListeners(SecurePluginContextListener.java:163)
    ... 185 more
13:46:15,531 INFO  [localhost-startStop-1][HookHotDeployListener:477] Registering hook for xxxxx
13:46:15,695 INFO  [localhost-startStop-1][HookHotDeployListener:553] Hook for xxxxxxx is available for use
13:46:15,736 INFO  [localhost-startStop-1][PortletHotDeployListener:202] Registering portlets for xxxxxx
13:46:16,045 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,138 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,217 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,350 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,493 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,585 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,685 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:16,770 INFO  [BridgeImpl] Initializing Liferay Faces Bridge 4.2.5-ga6 (Philippi / Aug 11, 2015 AD)
13:46:18,250 INFO  [localhost-startStop-1][PortletHotDeployListener:336] 8 portlets for xxxxxx are available for use
13:46:18,419 ERROR [Framework Event Dispatcher: Equinox Container: 30fd5ae1-6c3c-0016-1df2-b7f6f3c94f75][org_eclipse_equinox_http_servlet:97] FrameworkEvent ERROR 
javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.SAXParserFactory cannot be found
    at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
4

1 回答 1

1

您的 Liferay Faces Bridge 版本与 Liferay 7 不兼容。您应该使用 Bridge API 4.x、Bridge Impl4.x和 Bridge Ext 5.x。由于 Liferay 7 尚未发布 Bridge,因此您需要使用SNAPSHOT 构建。以下是pom.xml依赖项:

<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.impl</artifactId>
    <version>4.0.0-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.api</artifactId>
    <version>4.0.0-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.ext</artifactId>
    <version>5.0.0-SNAPSHOT</version>
</dependency>

如果您有其他 Liferay Faces 依赖项,请查看Liferay Faces 版本方案以获取有关您应该使用哪个版本的更多信息。

于 2016-06-29T18:48:09.017 回答