我们目前在Jenkins和Angular 7项目中使用Spring Boot管道,除其他外,其中正在使用maven-dependency-plugin。
不幸的是,我们遇到的问题是,在单元测试成功通过(使用jasmine/karma)之后自动生成的“ coverage” 文件夹并不总是出现在最终的 .jar 文件。
我必须一次又一次地重复此过程,以便该文件夹最终以.jar文件结尾。如果幸运的话,只有偶尔才真正发生。该文件夹肯定总是生成的,并以“ dist” 和“ target” 文件夹结尾。实际上,它仅在 .jar 文件中丢失,或者最好说它并不总是存储在文件中。
这个问题是已知的,还是可以将更好的解决方案放入我的 pom.xml ?
这是我的 pom.xml 的当前状态。如果有帮助的话,我还会用maven-resources-plugin发布该部分。
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies-to-target</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>dist</classifier>
<outputDirectory>target</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeTransitive>false</excludeTransitive>
<stripVersion>true</stripVersion>
<includeScope>runtime</includeScope>
<includeGroupIds>${project.groupId}</includeGroupIds>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>dist</directory>
<filtering>true</filtering>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<localCheckout>true</localCheckout>
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
</plugins>
其余的插件,我一直在使用最新,最稳定的版本。
我希望有人可以帮助我,以便Jekins管道中的构建稳定并且可以依靠它。