【问题标题】:Bean in jar inside EAR/lib folder possible?EAR/lib 文件夹中的 jar 中的 Bean 可能吗?
【发布时间】:2013-02-15 14:43:26
【问题描述】:

我有一个具有以下结构的 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 包含用户 gui。
mywar2.war 包含 admin-gui。

ejb 和 war 模块是从单独的 maven 项目构建的,并在 application.xml 文件中引用。文件 specialBeanlib.jar 在 Web 项目中被引用为 provided 依赖项,在 ejb 项目中被引用为正常依赖项,因此它存储在 EAR lib 文件夹中。它明确不应该是一个自己的 ejb 模块。

问题:我可以吃豆子吗? @ApplicationScoped Bean,在文件 specialBeanlib.jar 中,因此可以通过 @987654323 从 mywar1.warmywar2.war 访问它@?

【问题讨论】:

    标签: jakarta-ee dependency-injection ejb ear


    【解决方案1】:

    应该没问题。在编译期间,由于您在 Maven 中提供了 specialBeanlib.jar 作为依赖项,因此在编译 mywar1 和 mywar2 模块期间,它应该出现在类路径中。在运行时,由于speicalBeanlib.jar 位于war 类加载器的父类加载器的ear\lib 文件夹中,因此bean 类也应该可以正常加载。

    【讨论】:

    • 看来你是对的。我从头开始创建了一个项目并且它可以工作。我会接受你的回答,但一些“官方”信息,例如描述此功能的规范的部分内容会很有用。
    猜你喜欢
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2014-10-08
    • 2015-04-25
    • 1970-01-01
    相关资源
    最近更新 更多