Maven 2 在maven中禁用war覆盖
当我在maven项目中有一个“war”类型的依赖项时,它会自动使用overlay将其合并到我正在构建的项目中 我想禁用覆盖 为了简化开发过程,我希望在为本地Tomcat构建时使用带有maven junction插件的符号链接,并且仅在为测试和产品服务器构建时使用覆盖Maven 2 在maven中禁用war覆盖,maven-2,maven,build-process,war,Maven 2,Maven,Build Process,War,当我在maven项目中有一个“war”类型的依赖项时,它会自动使用overlay将其合并到我正在构建的项目中 我想禁用覆盖 为了简化开发过程,我希望在为本地Tomcat构建时使用带有maven junction插件的符号链接,并且仅在为测试和产品服务器构建时使用覆盖 关于如何处理war依赖项的任何其他建议,如果我需要修改这些依赖项而不需要很长的构建周期,我也很欢迎。在配置文件中配置覆盖排除。要配置覆盖,请参见: 在配置文件中配置覆盖排除。要配置覆盖,请参见: 该链接指定如何使maven wa
关于如何处理war依赖项的任何其他建议,如果我需要修改这些依赖项而不需要很长的构建周期,我也很欢迎。在配置文件中配置覆盖排除。要配置覆盖,请参见:
在配置文件中配置覆盖排除。要配置覆盖,请参见: 该链接指定如何使maven war插件排除特定的文件和文件夹 我想要实现的是根本没有任何覆盖,但是默认情况下会发生覆盖
到目前为止,我找到的唯一解决方案是将war依赖项本身放在配置文件中,但我不喜欢这种解决方案,因为它有太多的解决方法。对于maven war plugin:2.1.1,您不能禁用覆盖集,但您可以从覆盖中排除文件 排除所有覆盖文件:
<dependentWarIncludes></dependentWarIncludes>
<dependentWarExcludes>**</dependentWarExcludes>
**
从特定覆盖中排除所有文件:
<overlays>
<overlay>
<groupId>com.gentics</groupId>
<artifactId>portalnode-webapp</artifactId>
<excludes>
<exclude>**/*</exclude>
</excludes>
</overlay>
</overlays>
com.gentics
portalnode网络应用程序
**/*
请注意,这不会减少使用的覆盖数量。在我的例子中,覆盖发生是因为我有war类型的依赖项 我通过将所有这些依赖项放在默认启用的配置文件中来解决问题。也许是一个黑客,但它是有效的
<profile>
<id>overlay-active</id>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<dependentWarExcludes>WEB-INF/lib/*,META-INF/**</dependentWarExcludes>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myWarDepency</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</dependency>
覆盖活动
maven战争插件
2.1.1
WEB-INF/lib/*,META-INF/**
myGroup
我的监护权
1.0-快照
战争