當我在maven項目中擁有類型'war'的依賴關係時,它會自動使用覆蓋將它合併到我正在構建的項目中。在maven中禁用戰爭覆蓋
我想禁用重疊。
爲了使開發過程更簡單,我希望在爲本地Tomcat構建時使用符合maven-junction-plugin的鏈接,並且僅在構建測試和prod服務器時使用符號鏈接。
對於我如何工作戰爭依賴關係的任何其他建議,我需要修改而不需要很長的構建週期,這也是值得歡迎的。
當我在maven項目中擁有類型'war'的依賴關係時,它會自動使用覆蓋將它合併到我正在構建的項目中。在maven中禁用戰爭覆蓋
我想禁用重疊。
爲了使開發過程更簡單,我希望在爲本地Tomcat構建時使用符合maven-junction-plugin的鏈接,並且僅在構建測試和prod服務器時使用符號鏈接。
對於我如何工作戰爭依賴關係的任何其他建議,我需要修改而不需要很長的構建週期,這也是值得歡迎的。
在配置文件中配置重疊排除。要配置覆蓋圖,請參閱: http://maven.apache.org/plugins/maven-war-plugin/overlays.html
在配置文件中配置覆蓋排除。要配置疊加看到: http://maven.apache.org/plugins/maven-war-plugin/overlays.html
該鏈接指定了如何讓Maven的戰爭插件排除特定的文件和文件夾。
我想實現的是根本沒有覆蓋,但覆蓋默認情況下發生。
到目前爲止,我發現的唯一解決方案是將戰爭依賴關係本身放入配置文件中,但我對此解決方案感到不滿意,因爲它嘗試了太多的解決方法。
您不能像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>
請注意,這不會降低所使用的覆蓋量。
在我的情況下,疊加發生是因爲我們有類型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>