maven war 覆盖不会排除依赖项
maven war overlay won't exclude dependancies
我有一个项目,我试图用来自另一个模块的编译 jar 和 war 项目中的一些文件覆盖预构建的 war。
+pom.xml
|
+-+depandancy_dir
| |
| + source.war
|
+-+ jar
| |
| + pom.xml
| + src
| ...
|
+-+war_dir
|
+ pom.xml
+ src
.... no jars
我想排除一些配置为jar的maven依赖的jar。
我已经在 war 的 pom 中尝试了以下所有排除行。不管怎样,不需要的罐子都会出现。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<dependentWarExcludes>**/unwanted-core-1.1.jar</dependentWarExcludes>
<overlays>
<overlay>
<groupId>src.war</groupId>
<artifactId>base.war</artifactId>
<excludes>
<exclude>**/unwanted-core-1.1.jar</exclude>
<packagingExcludes>**/unwanted-core-1.1.jar</packagingExcludes>
<exclude>WEB-INF/lib/unwanted-core-1.1.jar</exclude>
<packagingExcludes>WEB-INF/lib/unwanted-core-1.1.jar</packagingExcludes>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
我是运行 eclipse下的maven。
war 插件报告版本 maven-war-plugin:2.2:war
原来我试图以错误的方式解决问题。排除继续依赖。
<dependencies>
<dependency>
<!-- the jar of custom code -->
<groupId>my.group</groupId>
<artifactId>jar</artifactId>
<version>1.0.0-SNAPSHOT</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>org.unwanted</groupId>
<artifactId>unwanted-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- the war I am overlaying -->
<groupId>my.group</groupId>
<artifactId>a.base.war</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/../dependancies/jreport.war</systemPath>
<type>war</type>
</dependency>
</dependencies>
以下链接对我有帮助。
https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
Maven: remove a single transitive dependency
我有一个项目,我试图用来自另一个模块的编译 jar 和 war 项目中的一些文件覆盖预构建的 war。
+pom.xml
|
+-+depandancy_dir
| |
| + source.war
|
+-+ jar
| |
| + pom.xml
| + src
| ...
|
+-+war_dir
|
+ pom.xml
+ src
.... no jars
我想排除一些配置为jar的maven依赖的jar。
我已经在 war 的 pom 中尝试了以下所有排除行。不管怎样,不需要的罐子都会出现。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<dependentWarExcludes>**/unwanted-core-1.1.jar</dependentWarExcludes>
<overlays>
<overlay>
<groupId>src.war</groupId>
<artifactId>base.war</artifactId>
<excludes>
<exclude>**/unwanted-core-1.1.jar</exclude>
<packagingExcludes>**/unwanted-core-1.1.jar</packagingExcludes>
<exclude>WEB-INF/lib/unwanted-core-1.1.jar</exclude>
<packagingExcludes>WEB-INF/lib/unwanted-core-1.1.jar</packagingExcludes>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
我是运行 eclipse下的maven。 war 插件报告版本 maven-war-plugin:2.2:war
原来我试图以错误的方式解决问题。排除继续依赖。
<dependencies>
<dependency>
<!-- the jar of custom code -->
<groupId>my.group</groupId>
<artifactId>jar</artifactId>
<version>1.0.0-SNAPSHOT</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>org.unwanted</groupId>
<artifactId>unwanted-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- the war I am overlaying -->
<groupId>my.group</groupId>
<artifactId>a.base.war</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/../dependancies/jreport.war</systemPath>
<type>war</type>
</dependency>
</dependencies>
以下链接对我有帮助。
https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
Maven: remove a single transitive dependency