У меня немного другая установка, в которой я помещаю файл persistence.xml в файл WAR, но некоторые из его зависимостей включают аннотированный @Entity, включенный в модуль сохранения.
Я решил свою проблему с помощью Maven, немного похожего на Адриана Шума, описанного в # 3, но с помощью элемента, включающего банки, которые нужно сканировать для аннотаций @Entity.
Я добавил свойство в my-web / pom.xml для каждой зависимости, включая дополнительные сущности.Все мои банки являются частью мультипроектной сборки Maven, так что для меня это выглядит так.
<properties>
<common.jar>common-${project.version}.jar</common.jar>
<foo.jar>foo-${project.version}.jar</foo.jar>
</properties>
После этого я добавляю следующее в файл persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" ... >
<persistence-unit name="primary">
<jta-data-source>java:jboss/datasources/mysource</jta-data-source>
<jar-file>lib/${common.jar}</jar-file>
<jar-file>lib/${foo.jar}</jar-file>
...
</persistence-unit>
</persistence>
Наконец, я настраиваю maven-resource-plugin в web / pom.xml для замены $ выражений в постоянстве..xml со свойствами, установленными в POM
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/persistence.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/persistence.xml</exclude>
</excludes>
</resource>
</resources>
...
</build>