packagingExcludes 在 Maven war 插件中不起作用
packagingExcludes not working in maven war plugin
我在 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 clean install 时。
我得到了 target/webapp/WEB-INF/lib 中的所有罐子
实际上我不应该让罐子匹配排除的模式,比如
avalon-.jar,geronimo-.jar,aopalliance-.jar,common-.jar 等..
为什么这些被排除在外的罐子 WEB_INF/lib 进来了??
packagingExcludes
适用于 war 存档。对"exploded"war.
无影响
(handleArtifacts( context ) 被调用而不管 packagingExcludes
packagingExcludes
排除 jar 文件。
但是如果应用程序是 spring 启动,在重新打包阶段,它将所有 jar 放回新包并将旧包重命名为 .war.original
。
我在 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 clean install 时。 我得到了 target/webapp/WEB-INF/lib 中的所有罐子 实际上我不应该让罐子匹配排除的模式,比如 avalon-.jar,geronimo-.jar,aopalliance-.jar,common-.jar 等..
为什么这些被排除在外的罐子 WEB_INF/lib 进来了??
packagingExcludes
适用于 war 存档。对"exploded"war.
(handleArtifacts( context ) 被调用而不管 packagingExcludes
packagingExcludes
排除 jar 文件。
但是如果应用程序是 spring 启动,在重新打包阶段,它将所有 jar 放回新包并将旧包重命名为 .war.original
。