Wildfly/JBOSS 持久性错误 MSC000001:无法启动服务 jboss.persistenceunit
Posted
技术标签:
【中文标题】Wildfly/JBOSS 持久性错误 MSC000001:无法启动服务 jboss.persistenceunit【英文标题】:Wildfly/JBOSS persistence error MSC000001: Failed to start service jboss.persistenceunit 【发布时间】:2021-04-14 12:39:44 【问题描述】:我们正在从 Wildfly 8(用于测试)和 9(用于部署)迁移到 21,Yay :)。不幸的是,我在尝试运行standalone.sh 脚本时收到此错误消息: 错误 [org.jboss.msc.service.fail] (ServerService 线程池 -- 78) MSC000001: 无法启动服务 jboss.persistenceunit."projectName.war#ertDatasource": org.jboss.msc.service.StartException in service jboss .persistenceunit."projectName.war#ertDatasource": java.lang.NoClassDefFoundError: javax/persistence/TableGenerators
根据我在网上收集的信息,这应该存在于我们正在使用的休眠持久性中:hibernate-jpa-2.1-api-1.0.0.Final。想知道我可能错过了什么吗?
在 pom.xml 中将 Hibernate 设置为依赖项:
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.7.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>4.3.9.Final</version>
<scope>compile</scope>
</dependency>
当我们使用 wildfly 8 和 9 时,这些依赖项运行良好。想知道我在配置中可能遗漏了什么吗?
【问题讨论】:
【参考方案1】:如果您查看 https://github.com/wildfly/wildfly/blob/21.0.2.Final/pom.xml 的 wildfly pom.xml,您会看到:
version.org.hibernate is 5.3.20.Final
version.org.hibernate.commons.annotations is 5.0.5.Final
我建议删除所有休眠依赖项并仅包含 API 规范:
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<scope>provided</scope>
</dependency>
wildfly 21.x使用的jpa版本是2.2.3。
【讨论】:
以上是关于Wildfly/JBOSS 持久性错误 MSC000001:无法启动服务 jboss.persistenceunit的主要内容,如果未能解决你的问题,请参考以下文章
JBoss EAP、Wildfly、JBoss web 和 JBoss 服务器有啥区别?
JBoss EAP,Wildfly,JBoss web和JBoss服务器有什么区别?
keycloak~jconsole监控wildfly和jboss
如何从 Wildfly (Jboss) 为 ws 端点访问 CXF jar