Maven war打包,包含类忽略排除的资源
我有下面的pomMaven war打包,包含类忽略排除的资源,maven,maven-3,Maven,Maven 3,我有下面的pom <project> .... <packaging>war</packaging> .... <build> <plugins> <plugin> <plugin> <groupId>org.apache.maven.plugins</groupId&
<project>
....
<packaging>war</packaging>
....
<build>
<plugins>
<plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>config/**/*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<archiveClasses>true</archiveClasses>
<warSourceExcludes>WEB-INF/sass/**</warSourceExcludes>
<attachClasses>true</attachClasses>
<webResources>
<resource>
<directory>src/main/resources/config</directory>
<excludes>
<exclude>**/*</exclude>
</excludes>
</resource>
</webResources>
</configuration>
</plugin>
...
</project>
....
战争
....
org.apache.maven.plugins
maven jar插件
配置/**/*
org.apache.maven.plugins
maven战争插件
2.3
真的
WEB-INF/sass/**
真的
src/main/resources/config
**/*
...
如您所见,我打包了一个WAR,而我的.class
文件不在我的WEB-INF/classes
文件夹中—它们被打包到一个JAR中
现在,我拼命地试图从我的JAR中排除一些资源,但它不起作用。当我运行mvnjar:jar
时,资源被排除在外,但是当我运行mvnpackage
时,资源就在那里
请帮忙 您没有将
jar:jar
目标绑定到生命周期阶段。当您从命令行运行jar:jar
时,排除发生得很好;运行mvn clean package
时,我怀疑jar:jar
没有执行。尝试将目标绑定到一个阶段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals><goal>jar</goal></goals>
<phase>prepare-package</phase>
<configuration>
<excludes>
<exclude>config/**/*</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
在不需要单独的插件配置的情况下,执行类似于我认为您试图实现的功能。看来@user944849是正确的-事实上,war插件不使用jar插件来实现jar打包
然而,他的回答仍然给了我一个错误的结果,因为它只会创建两个罐子——一个有资源,另一个没有资源。战争仍将使用错误的方法
正确的答案是使用新的mavenresources
标记
与我的配置相对应的配置如下所示
<build>
....
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>config/**/*</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
....
</build>
....
src/main/resources
配置/**/*
假的
....