В java EE какие банки я должен поместить в библиотеку dir?
У меня есть проект Java EE. Проект построен с использованием maven в .ear архив. Существует библиотека jar, содержащая блок персистентности JPA 2, который находится в каталоге библиотеки уха (так что его могут использовать несколько других модулей).
При добавлении реализации СироУ интерфейса разрешения в качестве сущности в этом модуле персистентности у меня были проблемы с тем, чтобы ухо правильно развернуть, потому что классы Широ были недоступны в модуле постоянства. В конце концов я понял, что мне нужно поместить все зависимости (примененные также к транзитивным командам) библиотечного фляги в каталог библиотеки, чтобы заставить его развернуться.
Итак, окончательный макет выглядит примерно так:
ear
`- lib
`- persistence-unit.jar
- shiro-core.jar
- slf4j-api.jar
- module1
- moduleN
- library1.jar
- libraryN.jar
Теперь по вопросам:
Есть ли какие-то руководящие указания относительно того, что следует поместить в каталог библиотеки, и является ли мое решение в целом приемлемым?Почему неt библиотеки в корне уха доступны для jar в каталоге lib?Почему нетМожет ли это выяснить автоматически?РЕДАКТИРОВАТЬ: pom.xml для уха
4.0.0
ear
ear
com.example
project
1.0-SNAPSHOT
org.apache.maven.plugins
maven-ear-plugin
2.7
com.example
persistence-unit
lib
org.apache.shiro
shiro-core
lib
org.slf4j
slf4j-api
lib
com.example
persistence-unit
war
ejb
org.apache.shiro
shiro-core
И для персистентности блока:
4.0.0
persistence-unit
jar
com.example
project
1.0-SNAPSHOT
org.jboss.spec
jboss-javaee-6.0
pom
provided
org.apache.shiro
shiro-core