EAR / lib文件夹中的jar可能吗?
我有一个具有以下结构的EAR:
myapp.ear
...META-INF
......application.xml
...lib
......common.jar
......specialBeanlib.jar
...myejb.jar
...mywar1.war
...mywar2.war
正如你所看到的,common.jar和specialBeanlib.jar位于EAR lib文件夹中。
myejb.jar包含服务类。
mywar1.war包含user-gui。
mywar2.war包含admin-gui。
ejb和war模块是由单独的maven项目构建的,并在application.xml文件中被引用。 文件specialBeanlib.jar在Web项目中作为提供的依赖项引用,并在ejb项目中作为正常的依赖项引用,因此它被存储在EAR lib文件夹中。 它明确地不应该是一个自己的ejb模块。
问题:我可以在文件specialBeanlib.jar中使用任何Bean,例如@ApplicationScoped
Bean,因此可以通过@Inject
从mywar1.war和mywar2.war访问它。
它应该没问题。 在编译期间,因为您在Maven中提供了作为依赖项的specialBeanlib.jar,所以在编译mywar1和mywar2模块期间,它应该出现在classpath中。 在运行期间,由于speicalBeanlib.jar位于war classloader的父类classloader中的ear lib文件夹中,所以bean类也应该可以正常加载。
链接地址: http://www.djcxy.com/p/82665.html