我有5个包
com/test1
com/test2
com/test3
com/test4
com/test4
我想一次只打造一个或两个包中的任何一个。我怎样才能做到这一点?
答案 0 :(得分:1)
试试这个罐子:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>
<exclude>your_package_folder_here/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
这就是战争:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<packagingExcludes>WEB-INF/classes/your_package_folder_here/**</packagingExcludes>
</configuration>
</plugin>
请勿忘记在要排除的包文件夹的完整路径末尾使用/**
/**
用于文件夹/*
。你的jar文件将放在没有包的目标中。规则适用于这两种情况。
如果你想排除多个包,那么我的第一个建议是首先阅读插件api:
packagingExcludes java.lang.String 2.1-alpha-2 假真的 逗号分隔的令牌列表,以便在之前从WAR中排除 打包。此选项可用于实现瘦的WAR使用 案件。请注意,您可以使用Java Regular Expressions引擎 使用表达式%regex []包含和排除特定模式。 提示:阅读about(?!Pattern)。
然后最后你可以看到这个例子:
(...)
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<packagingExcludes>WEB-INF/classes/com/steelzack/b2b2bwebapp/excludefolder/**,WEB-INF/classes/com/steelzack/b2b2bwebapp/excludefolder2/**</packagingExcludes>
</configuration>
</plugin>
(...)