Java Maven War插件:指定正则表达式以排除web inf/lib中的库

Java Maven War插件:指定正则表达式以排除web inf/lib中的库,java,regex,maven,tomcat,Java,Regex,Maven,Tomcat,因为我们有大约8个项目,它们具有相同的依赖关系,并且正在部署到tomcat。由于加载所有这些类所消耗的内存,我们决定将所有公共JAR移动到自定义tomcat基础安装,并使单个WAR只具有所需的自定义库 要做到这一点,我们需要修改maven war插件配置,在这里我们可以指定排除库的正则表达式,如下所示: %正则表达式[WEB-INF/lib/TODO] 我想得到一些帮助,弄清楚我可以放在这里的确切正则表达式,以避免所有公共库,并包括所需的自定义库。以下是一些自定义库名称,它们需要成为war中WE

因为我们有大约8个项目,它们具有相同的依赖关系,并且正在部署到tomcat。由于加载所有这些类所消耗的内存,我们决定将所有公共JAR移动到自定义tomcat基础安装,并使单个WAR只具有所需的自定义库

要做到这一点,我们需要修改maven war插件配置,在这里我们可以指定排除库的正则表达式,如下所示:

%正则表达式[WEB-INF/lib/TODO]

我想得到一些帮助,弄清楚我可以放在这里的确切正则表达式,以避免所有公共库,并包括所需的自定义库。以下是一些自定义库名称,它们需要成为war中WEB-INF/lib的一部分:

  • xmax-common.jar
  • xmax-services.jar
  • xmax-model.jar
  • momentum-core.jar

  • 非常感谢你的建议

    您可以尝试只包含所需的包,而不是排除不必要的lib

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
    
        <configuration>
            <packagingIncludes>
                WEB-INF/lib/xmax-common.jar,
                WEB-INF/lib/xmax-services.jar,
                WEB-INF/lib/xmax-model.jar,
                WEB-INF/lib/momentum-core.jar
            </packagingIncludes>
        </configuration>
    </plugin>
    
    
    org.apache.maven.plugins
    maven战争插件
    2.4
    WEB-INF/lib/xmax-common.jar,
    WEB-INF/lib/xmax-services.jar,
    WEB-INF/lib/xmax-model.jar,
    WEB-INF/lib/momentum-core.jar
    
    如果使用regexp包含这些lib,请尝试以下操作:

    <configuration>
        <packagingExcludes>%regex[WEB-INF/lib/(?!xmax)(?!momentum).*.jar</packagingExcludes>
        ...
    </configuration>
    
    
    %regex[WEB-INF/lib/(?!xmax)(?!momentum)。*.jar
    ...
    
    那就可以了。谢谢。我不想在接下来的过程中继续添加条目,而是考虑使用正则表达式,这是一种解决问题的通用方法。