Java 如何从同一个WildFly服务器上的不同部署访问ear文件的lib文件夹模块?

Java 如何从同一个WildFly服务器上的不同部署访问ear文件的lib文件夹模块?,java,jakarta-ee,wildfly,Java,Jakarta Ee,Wildfly,我在同一个WildFly中部署了一个ear(App.ear)和一个war(Web.war)文件。ear包含AppEJB.jar作为一个模块,Util.jar位于相同的lib文件夹中。我需要Web.war能够看到App.ear的Util.jar和AppEJB.jar。为了从Web.war中查看AppEJB.jar模块,我将jboss-deployment-structure.xml放在Web.war的META-INF文件夹中,如下所示: <?xml version="1.0" encodin

我在同一个WildFly中部署了一个ear(App.ear)和一个war(Web.war)文件。ear包含AppEJB.jar作为一个模块,Util.jar位于相同的lib文件夹中。我需要Web.war能够看到App.ear的Util.jar和AppEJB.jar。为了从Web.war中查看AppEJB.jar模块,我将jboss-deployment-structure.xml放在Web.war的META-INF文件夹中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="deployment.App.ear.AppEJB.jar" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>


问题是如何从Web.war访问Util.jar?

我认为您的Web中需要Util.jar的依赖关系。war的pom.xml

我认为您的Web中需要Util.jar的依赖关系。war的pom.xml

我不知道WildFly,但是,您尝试的部署方法不是一个好主意,因为您将打破ear/war对运行所需内容的自我控制。可能的替代方案:1)在战争中包括AppEJB/Util jar,以允许独立部署ear和war;2) 把战争放在耳朵里,让战争者可以看到罐子;3) 假设它被支持,将JAR添加到共享的WildFly库中,这将使所有部署的EAR/wars都可以看到JAR。@AndrewS我同意我的方法不是一个好方法,但我有一些限制,迫使我这样做。我不知道WildFly,但是,您尝试的部署方法不是一个好主意,因为您将打破ear/war对运行所需内容的自我控制。可能的替代方案:1)在战争中包括AppEJB/Util jar,以允许独立部署ear和war;2) 把战争放在耳朵里,让战争者可以看到罐子;3) 假设它得到支持,将jar添加到共享的WildFly库中,这将使所有部署的EAR/war都可以看到jar。@AndrewS我同意我的方法不是一个好方法,但我有一些限制,迫使我这样做。虽然我没有使用maven,但我不能将Util.jar放在Web.war文件中。虽然我没有使用maven,但我不能将Util.jar放在Web.war文件中。