1

我有 3 天的时间寻找解决方案,但没有任何帮助,我想部署一个 MAVEN Web 项目,这个 Web 项目包含一个 EJB maven 项目的依赖项(我使用 MAVEN POM EDITOR 添加这个依赖项).. 当我做两个项目的 MAVEN INSATALL 一切都很好。但是当我尝试部署 WEB maven 项目(我复制 WAR,然后我将其粘贴到我的 Jboss 7.0.2 的 stadlone 部署文件夹中)时,我得到一个与Persistence.xml 由

 Can't find a deployment unit named ModuleEjbPU at deployment "GestionReclamationWeb-1.0-SNAPSHOT.war

我试图将 META-INF web.xml 文件夹放入 WEB 内容、src、lib 我还尝试删除 EJB 依赖项并将 jar(EJB 项目的)放入 meta inf lib

我觉得我的 web 项目的战争中找不到persistence.xml

如果你想让我提供我准备好的代码..我需要帮助..谢谢

4

2 回答 2

3

您应该将其放置persistence.xmlWEB-INF/classes/META-INF/persistence.xmlWhere to put persistence.xml in web app?

通过使用 Maven 方式,persistence.xml应该放置在src/main/resources/META-INF/persistence.xml

我希望这可能会有所帮助。

于 2013-03-18T02:52:58.313 回答
0

您的持久性单元已配置为在资源本地模式下使用,但您需要将其配置为在容器中使用。为了使它工作:

  1. 在您的容器中配置数据源,请参阅this
  2. 像这样更改持久性定义:

    <?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="ModuleEjbPU" transaction-type="JTA">
            <jta-data-source>name</jta-data-source>
            <exclude-unlisted-classes>false</exclude-unlisted-classes>
            <!-- Indique a Hibernate de (re-)créer la BDD au lancement de l'application -->
            <property name="hibernate.hbm2ddl.auto" value="create" />
        </persistence-unit>
    </persistence>
    

在我有的地方<jta-data-source>name</jta-data-source>,将 name 替换为您在 1 中提出的任何 JNDI 名称。

瞧,假设不会出现其他问题。

于 2013-03-17T17:15:00.537 回答