Java 优先打包排除和打包包含maven war插件

Java 优先打包排除和打包包含maven war插件,java,regex,maven,maven-3,maven-war-plugin,Java,Regex,Maven,Maven 3,Maven War Plugin,最近,我将我的应用程序配置为使用codehaus上描述的“瘦战争”(标题:解决瘦战争问题)。基本上,我将所有JAR从war中排除,并将其作为war和pom依赖项添加到ear中。现在我遇到了两个罐子的问题。所以对我来说,合乎逻辑的做法是使用PackageInclude将它们包含在war文件中 但它似乎没有任何作用。它只是排除了一切 在插件的最后部分,我发现它使用org.codehaus.plexus»plexus utils的DocumentScanner。我不太明白它是怎么工作的 我认为这是一

最近,我将我的应用程序配置为使用codehaus上描述的“瘦战争”(标题:解决瘦战争问题)。基本上,我将所有JAR从war中排除,并将其作为war和pom依赖项添加到ear中。现在我遇到了两个罐子的问题。所以对我来说,合乎逻辑的做法是使用PackageInclude将它们包含在war文件中


但它似乎没有任何作用。它只是排除了一切

在插件的最后部分,我发现它使用org.codehaus.plexus»plexus utils的DocumentScanner。我不太明白它是怎么工作的

我认为这是一个不需要动脑筋的问题。但我做错了什么?当A也是C的可传递依赖项时,是否可能包含不起作用


编辑:插件版本是否扮演任何角色?现在我使用的是2.6,但以前使用的是2.1-alpha-2版本。

尝试仅使用includes而不使用通配符excludes定义。因为你排除了所有的罐子,这就消耗了你的包括。据我所知(从我的记忆中),默认情况是包含所有内容,但一旦指定包含,插件将只包含您的jar列表。

也可以找到。以下线路(且仅此线路)有效:

%regex[WEB-INF/lib/(?!common-A | common-B)。*.jar]


只有
common-A-x.x.jar
common-B-x.x.jar
位于war文件的
WEB-INF/lib
文件夹中。应该可以提取正则表达式中的公共部分,但我尝试的方法不起作用。

你是对的,但其他所有内容也被排除在外。所以没有.jsp等。好的,那么您的exclude正则表达式是什么样子的呢?也许是错了。我还需要使用正则表达式,它工作得很好。但我很抱歉,其余的都不见了。我想说的是,如果可能的话,我会避免使用正则表达式,因为它不易维护。顺便说一句,maven的整个打包机制很糟糕,而且太复杂了。如果可能的话,我想避免使用正则表达式,但目前我不知道该怎么做。最初的问题仍然是什么优先包括或排除,以及这意味着什么。