【发布时间】:2012-05-08 08:39:23
【问题描述】:
我正在尝试使用 Maven 战争插件的 <packagingExcludes>。
这是我的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifestEntries>
<Implementation-Version>${project.artifactId}-${project.version}-r${buildNumber}</Implementation-Version>
<Implementation-Buildtime>${timestamp}</Implementation-Buildtime>
</manifestEntries>
</archive>
<packagingExcludes>WEB-INF/lib/jaxb*.jar</packagingExcludes>
</configuration>
</plugin>
在我的理解中这一行:
<packagingExcludes>WEB-INF/lib/jaxb*.jar</packagingExcludes>
应该从构建的 .war 文件中排除所有以 'jaxb' 开头的 jar。
但是在我运行 clean install 之后,我得到了两者:
jaxb-api-2.1.jar
jaxb-impl-2.1.3.jar
打包在我的 .war WEB-INF/lib 目录中。
我正在使用 Maven 3。
非常感谢任何帮助。
提前致谢,
回答 gkamal 的评论。
当我运行mvn war:war -X 时,我可以看到:
[DEBUG] Processing: jaxb-api-2.1.jar
[DEBUG] + WEB-INF/lib/jaxb-api-2.1.jar has been copied.
[DEBUG] Processing: jaxb-impl-2.1.3.jar
[DEBUG] + WEB-INF/lib/jaxb-impl-2.1.3.jar has been copied.
还有
[DEBUG] Excluding [WEB-INF/lib/jaxb*.jar] from the generated webapp archive.
不,异常、警告或错误或任何看起来可疑的东西,我应该寻找什么具体的东西?
【问题讨论】:
-
用 -X 运行它,看看你能不能得到信息 - 你可以运行 war:war。
-
@gkamal 我看不出任何异常。
-
您可以尝试使用其中一个 jar 的完整路径而不是通配符吗?
-
您使用的是什么版本的插件?文档说“在 2.1-alpha-1 版本中,这被错误地命名为 warSourceExcludes” - maven.apache.org/plugins/maven-war-plugin/examples/…
-
解决此问题的另一种方法是将两个 jar 的显式依赖项添加到您的战争项目中,并将范围标记为提供。
标签: java maven jaxb maven-3 war