packagingExcludes不适用于maven war插件



我在pom.xml 中有以下内容

...
   <groupId>my.org.name</groupId>
    <artifactId>webservices-webapp</artifactId>
    <packaging>war</packaging>
    <name>Webapp</name>
<dependencies>
...
</dependecies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <attachClasses>true</attachClasses>
                    <packagingExcludes>
                        WEB-INF/lib/avalon-*.jar,
                        WEB-INF/lib/geronimo-*.jar,
                        WEB-INF/lib/aopalliance-*.jar,
                        WEB-INF/lib/common-*.jar,
                        WEB-INF/lib/core-cryptor-*.jar,
                        WEB-INF/lib/logging-*.jar,
                        WEB-INF/lib/rm-security-*.jar,
                        WEB-INF/lib/security-context-shared-*.jar,
                        WEB-INF/lib/session-management-*.jar,
                        WEB-INF/lib/jax*.jar,
                        WEB-INF/lib/joda-time-*.jar,
                        WEB-INF/lib/opensaml-*.jar,WEB-INF/lib/spring-security-core-*.jar,
                        WEB-INF/lib/xmlsec-*.jar,WEB-INF/lib/xmltooling-*.jar,
                        WEB-INF/lib/stax-api-*.jar,
                        WEB-INF/lib/servlet-api-*.jar,WEB-INF/lib/axis-saaj-*.jar,WEB-INF/lib/axis-jaxrpc-*.jar,
                        %regex[WEB-INF/lib/spring-(?!web).*.jar]
                    </packagingExcludes>
                    <archive>
                        <manifestEntries>
                            <DisableIBMJAXWSEngine>true</DisableIBMJAXWSEngine>
                        </manifestEntries>
                    </archive>
                    <webResources>
                        <resource>
                            <directory>src/main/java</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <includes>
                                <include>**/*.xml</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
        <finalName>${project.artifactId}</finalName>
    </build>

现在,当我进行mvn清理安装时。我在target/webapp/WEB-INF/lib中获取所有jar事实上,我不应该让罐子匹配被排除的模式,比如avalon-.jar、geronimo-.jar、aopaliance-.jar、common-.jar等。

为什么这些被排除在外的jar出现在WEB_INF/lib中??

packagingExcludes适用于战争档案。它对"爆炸式"战争没有影响。

参考:https://github.com/apache/maven-plugins/blob/maven-war-plugin-2.6/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java#L109

(handleArtifacts(context)被调用,而与packagingExcludes 无关

packagingExcludes排除jar文件。

但若应用程序是春季启动的,在重新打包阶段,它会将所有jar放回新包中,并将旧包重命名为.war.original

相关内容

  • 没有找到相关文章

最新更新