7

我有 :

src/main/java/com.tuto
  • Class1.java
  • Class2.java
  • Class3.java

我的 pom 正在包装一场战争。所以在我的战争中,WEB-INF/classes/com/tuto我找到了 3 个班级。

现在我想排除 Class2.java

我试过了

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1</version>
            <configuration>
              <excludes>
                 <exclude>**/Class2.class</exclude>
              </excludes>
            </configuration>
        </plugin>

但它不起作用。

我能怎么做 ?


好的,就像亚伦告诉我的那样,这是有效的:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <packagingExcludes>**/Class2.class</packagingExcludes>
    </configuration>
</plugin>

但 ...

让我们把问题放在另一边:我想排除除 Class1 和 Class3 之外的所有内容

所以我尝试了

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <packagingIncludes>**/Class1.class,**/Class3.class</packagingIncludes>
    </configuration>
</plugin>

这一次它不起作用。

4

4 回答 4

10

正如文档所说,您应该改用该packagingExcludes元素。

请注意,packagingExcludes不使用嵌套元素。相反,内容是“以逗号分隔的 Ant 文件集模式列表”。

于 2013-09-10T07:13:39.777 回答
5

文档中,排除将优先于包含。在您的情况下,使用 packagingExcludes 明确排除 class2。

<packagingExcludes>WEB-INF/classes/com/tuto/Class2.class</packagingExcludes>
于 2017-01-04T18:16:26.413 回答
1

完整的插件 xml 应该如下所示

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <outputDirectory>${build.output.directory}</outputDirectory>
        <packagingExcludes>WEB-INF/classes/ItemConsumer.class</packagingExcludes>
    </configuration>
</plugin>
于 2017-03-23T20:42:44.200 回答
1

将插件添加到 pom.xml - 100% 正常工作。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <!--package path you want to delete-->
                    <packagingExcludes>WEB-INF/classes/lk/**</packagingExcludes>

                    <webResources>
                        <resource>
                            <!--project build path-->
                            <directory>${project.basedir}/target/classes/</directory>
                            <filtering>true</filtering>
                            <includes><include>**/*.class</include></includes>
                        </resource>
                    </webResources>

                </configuration>
            </plugin>
于 2018-03-26T12:37:19.943 回答