Maven war打包,包含类忽略排除的资源

Maven war打包,包含类忽略排除的资源,maven,maven-3,Maven,Maven 3,我有下面的pom <project> .... <packaging>war</packaging> .... <build> <plugins> <plugin> <plugin> <groupId>org.apache.maven.plugins</groupId&

我有下面的pom

 <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打包

然而,他的回答仍然给了我一个错误的结果,因为它只会创建两个罐子——一个有资源,另一个没有资源。战争仍将使用错误的方法

正确的答案是使用新的maven
resources
标记

与我的配置相对应的配置如下所示

    <build>
      .... 
       <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>config/**/*</exclude>
                </excludes>
                <filtering>false</filtering>
            </resource>
        </resources>
      ....
     </build>

.... 
src/main/resources
配置/**/*
假的
....