Java 我可以使用什么maven插件来重构现有的EAR
我有一个以前用Maven构建的耳朵。作为新验证过程的一部分,此EAR将首先上载(用于扫描目的)到第三方SAAS,然后再投入生产。但是,在上传EAR之前,必须修改内容/结构。我需要能够重新打包我的EAR,这样在WEB-INF/lib文件夹中只保留lib的一个子集;其余的可以移动到EAR中的任何其他位置(可以在根级别、子文件夹中、/lib子文件夹中,等等-war中以外的任何位置)。我知道EAR可能无法部署,但这是可以接受的Java 我可以使用什么maven插件来重构现有的EAR,java,maven,ant,dependencies,Java,Maven,Ant,Dependencies,我有一个以前用Maven构建的耳朵。作为新验证过程的一部分,此EAR将首先上载(用于扫描目的)到第三方SAAS,然后再投入生产。但是,在上传EAR之前,必须修改内容/结构。我需要能够重新打包我的EAR,这样在WEB-INF/lib文件夹中只保留lib的一个子集;其余的可以移动到EAR中的任何其他位置(可以在根级别、子文件夹中、/lib子文件夹中,等等-war中以外的任何位置)。我知道EAR可能无法部署,但这是可以接受的 EAR |-lib \- shared1.jar \- shared2.
EAR
|-lib
\- shared1.jar
\- shared2.jar
|- WebApp1.war
\- images
\- WEB-INF
\- lib
\- lib1.jar
\- lib2.jar
\- lib3.jar
|- WebApp2.war
\- images
\- WEB-INF
\- lib
\- libA.jar
\- libB.jar
\- libC.jar
|- EJB1.jar
|- JarModule1.jar
本质上,我只需要在WEB-INF/lib文件夹中维护顶级依赖项的一个子集。将从WEB-INF/lib中删除任何可传递的依赖项
我可以使用ANT之类的工具来实现这一点,但是Maven世界中是否存在允许我实现这一点的东西?我想我需要使用maven依赖插件:unpack,但无法完全确定正确的配置
如果我只将我的EAR列为一个依赖项并将其解包,它将不会递归地解包
我想我唯一的选择就是用蚂蚁/常春藤来做这件事,但是我想看看是否有人有其他的创意可以让我留在Maven世界。你可以通过Maven汇编插件做很多事情,或者你可以在ear的创建过程中使用Maven ear插件,并在创建过程中将内容提取到
lib
文件夹。@khmarbaise-我的过程需要从预先存在的耳朵,不幸的是在耳朵包装过程中没有。我还没有找到一种方法来分解EAR中包含的WAR文件。为此,请使用maven assembly插件。