【问题标题】:I can't start jboss with a JPA provider我无法使用 JPA 提供程序启动 jboss
【发布时间】:2016-10-27 16:49:33
【问题描述】:

我正在从 WAS8.5.5 迁移到 JBoss EAP6.4。

我收到一条错误消息

12:03:14,362 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."en_uitemplate.ear".
FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit."en_uitemplate.ear".FIRST_MODULE_USE: JBAS018733: Failed to pr
ocess phase FIRST_MODULE_USE of deployment "en_uitemplate.ear"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.
5.0.Final-redhat-21]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Fina
l-redhat-1]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-
1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.8.0_101]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.8.0_101]
Caused by: javax.persistence.PersistenceException: JBAS011466: PersistenceProvider '
            org.apache.openjpa.persistence.PersistenceProviderImpl
        ' not found
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:619)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deployPersistenceUnit(PersistenceUnitServiceHandler.java:317)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.addPuService(PersistenceUnitServiceHandler.java:279)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.handleEarDeployment(PersistenceUnitServiceHandler.java:216)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:118)
    at org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:48)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.
5.0.Final-redhat-21]

我创建了目录

C:\Applications\jboss64\jboss-eap-6.4\modules\system\layers\base\org\apache\openjpa\main

我把openjpa-2.4.1.jar和serp-1.13.1.jar和module.xml一起放进去。

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.apache.openjpa">
<resources>
    <resource-root path="openjpa-2.4.1.jar"/>
    <resource-root path="serp-1.13.1.jar"/>
    <!-- Insert resources here -->
</resources>
<dependencies>
    <module name="javax.persistence.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.validation.api"/>
    <module name="org.apache.commons.lang"/>
    <module name="org.apache.commons.collections"/>
    <module name="org.apache.log4j"/>
</dependencies>

我的 persistence.xml 为

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence       http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">


<persistence-unit name="csxstartershowcaseEJB" transaction-type="JTA">
    <provider>
        org.apache.openjpa.persistence.PersistenceProviderImpl
    </provider>
    <properties>        
        <property name="jboss.as.jpa.providerModule" value="org.apache.openjpa" />
        <property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=TRACE, Tool=TRACE"/>
        <property name="openjpa.RuntimeUnenhancedClasses" value="supported" />
        <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
        <property name="openjpa.jdbc.Schema" value="APP" />
        <property name="javax.persistence.jdbc.url" value="jdbc:derby:CSXSampleDatabase;create=true"/>
        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>       
        <property name="openjpa.MetaDataFactory" value="jpa"/>
    </properties>   
</persistence-unit>

根据https://developer.jboss.org/thread/222893 的帖子,我还在我的 EJB 和 EJBClient 项目的 pom.xml 中添加了以下依赖项。但我仍然遇到同样的错误。

<!-- JPA -->
<dependency>
    <groupId>org.jboss.as</groupId>
    <artifactId>jboss-as-ee</artifactId>
    <version>7.5.0.Final-redhat-21</version>
    <scope>provided</scope>
</dependency>               
<dependency>    
    <groupId>org.jboss.as</groupId> 
    <artifactId>jboss-as-ejb3</artifactId>  
    <version>7.1.1.Final</version>  
    <scope>provided</scope> 
</dependency>   

这与消息“org.apache.openjpa.persistence.PersistenceProviderImpl '未找到”。有什么建议吗?

【问题讨论】:

标签: java eclipse jpa openjpa jboss6.x


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2016-10-30
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多