如何在maven生成的战争中覆盖jar文件?

时间:2018-04-24 21:09:58

标签: java maven

我一直在war文件中复制一些修补过的jar,以便测试修复后的jar而不将它们上传到maven repo,并且在应用maven-war-plugin时一切顺利,只要jar不存在就放置它们在战争中,所以没有发生覆盖,但副本确实发生了。

那些jar文件属于我无法控制的几个依赖项,可以是任意数量的文件,我也可以在测试之前将它们替换为nexus,也不要将它们放在我的本地仓库中,因为这个想法是使用jenkins在其他机器上生成war文件来测试jar。

那么,我怎样才能覆盖打包到war文件中的jar文件?

这是我之前的配置,允许我将任意数量的jar从libs文件夹复制到war文件中的WEB-INF / lib。

<!-- OVERWRITE JAR files with remediated versions -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <executions>
            <execution>
              <id>default-war</id>
              <phase>none</phase>
            </execution>
            <execution>
              <id>war-replace</id>
              <phase>package</phase>
              <goals>
                <goal>war</goal>
              </goals>
              <configuration>
                <webResources>
                  <resource>
                    <directory>${basedir}/libs</directory>
                    <includes>
                      <include>**/*.jar</include>
                      <include>**/*.war</include>
                    </includes>
                    <targetPath>WEB-INF/lib/</targetPath>
                  </resource>
                </webResources>
                <overwrite>true</overwrite>
              </configuration>
            </execution>
          </executions>
        </plugin>

0 个答案:

没有答案