gpt4 book ai didi

java - Jboss 7 部署/冲突问题

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:09 25 4
gpt4 key购买 nike

我正在开发一个使用 JPA、Hibernate 的应用程序。我可以在 Tomcat 上很好地部署,但在 jBoss 上则无法部署。我收到以下错误。

JBAS011466:未找到 PersistenceProvider“org.hibernate.jpa.HibernatePersistenceProvider”

在进行一些谷歌搜索后,我发现一些文章表明我遇到了冲突,因为我将自己的 JPA、Hibernate、Persistence API jar 打包到我的 WAR 中。我想告诉 jBoss 使用我的这些文件版本。

我发现一篇文章建议将以下内容放入 WEB-INF/jboss-classloading.xml 中。

<classloading xmlns="urn:jboss:classloading:1.0"
name="timesheet-api.war"
domain="IsolatedDomain"
import-all="false"
parent-first="false" >
</classloading>

我这样做了,但没有解决问题。

有什么建议吗?

最佳答案

我的建议是划分您的应用程序以符合领域驱动设计,即将业务逻辑与前端逻辑等分开。

即将所有不直接相关的内容导出到 jar 中,并将您的 Web 逻辑保留在 war 中 - 将它们打包在耳朵中以将两者结合起来。文件结构应如下所示,并通过 .pom 中的依赖项组成:

|根目录/jar

|root/war(有 jar 作为依赖项)

|root/ear(同时具有 jar 和 war 作为依赖项)

A Java EE application is delivered in a Java Archive (JAR) file, a Web Archive (WAR) file, or an Enterprise Archive (EAR) file. A WAR or EAR file is a standard JAR (.jar) file with a .war or .ear extension. Using JAR, WAR, and EAR files and modules makes it possible to assemble a number of different Java EE applications using some of the same components. No extra coding is needed; it is only a matter of assembling (or packaging) various Java EE modules into Java EE JAR, WAR, or EAR files.

据我了解,您希望拥有一个类似于大多数人所说的“企业应用程序”的应用程序,即具有许多 EE 技术的应用程序。您应该将其打包为 .ear,然后将其部署在 JBoss 中,以便它能够无缝工作(并符合约定)。

更多信息可以在这里找到:http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html

关于java - Jboss 7 部署/冲突问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com