gpt4 book ai didi

maven skinnyWars 不会从 WEB-INF\lib\中删除 ejb jar

转载 作者:行者123 更新时间:2023-12-04 12:41:39 25 4
gpt4 key购买 nike

我偶然发现了 maven 主题 skinnyWarshttp://maven.apache.org/plugins/maven-ear-plugin/examples/skinny-wars.html .如前所述,我可以使用此方法将选定的依赖项从 WAR 模块移动到 EAR 模块。它们将可用于 EAR 中的所有其他 WAR 模块。

正如我发现移动的依赖项必须在 EAR 模块中声明并且必须包含在 META-INF\lib 中。目录。 这不适用于 EJB 模块 ,它们位于 EAR 模块的根目录中。

我的问题是如何从 WAR 中删除重复的 EJB 模块并将引用指向 EAR 文件中的那些?

现在的结构是这样的:

\-EAR
-ejb.jar
-META-INF\lib
-shared libraries
-web.war
-WEB-INF\lib
-ejb.jar
-other non-shared libraries

最佳答案

我已经回答了一个类似的问题:How to make maven place all jars common to wars inside the same EAR to EAR root?

不幸的是,这似乎不适用于 ejb 模块。正如您已经提到的,它们会被重复。

您还可以使用的一件事是 maven-war-plugin 的配置:

            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
</configuration>
</plugin>

这将彻底清除 WAR 的 lib 文件夹中的所有内容,但如果您必须在没有周围 EAR 的单独机器上另外部署 WAR,它也会有其缺点。

关于maven skinnyWars 不会从 WEB-INF\lib\中删除 ejb jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17294391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com