[英]Maven fails on Jenkins (Target repository cannot be empty) but not local
我有一個簡單的maven項目,該項目可以在本地成功運行,但是在Jenkins上運行時卻失敗。
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example.abc.test</groupId>
<artifactId>dev-test</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>DEV-TEST</name>
<modules>
<module>dev-test-abc</module>
<module>dev-test-assemblies</module>
</modules>
<distributionManagement>
<repository>
<id>artifactory.example.org</id>
<name>artifactory.example.org-releases</name>
<url>http://artifactory.example.org:8081/artifactory/project-releases</url>
</repository>
<snapshotRepository>
<id>artifactory.example.org</id>
<name>artifactory.example.org-snapshots</name>
<url>http://artifactory.example.org:8081/artifactory/project-snapshots</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>artifactory</id>
<name>Artifactory maven repository</name>
<url>http://artifactory.example.org:8081/artifactory/repo</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plugin-artifactory</id>
<name>Artifactory maven repository</name>
<url>http://artifactory.example.org:8081/artifactory/repo</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
我在Jenkins上使用mvn clean install
在本地運行,但使用maven插件失敗。
在詹金斯,我得到了以下關注:
[INFO] DEV-TEST::ABC ......................... FAILURE [ 2.928 s]
[INFO] DEV-TEST::ASSEMBLIES .................. SKIPPED
[INFO] DEV-TEST .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
... ... ...
[INFO] ------------------------------------------------------------------------
[ERROR] Internal error: java.lang.IllegalArgumentException: Target repository cannot be empty -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.IllegalArgumentException: Target repository cannot be empty
at org.apache.maven.lifecycle.internal.builder.BuilderCommon.handleBuildError(BuilderCommon.java:147)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:129)
故障模塊的pom在這里:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.example.abc.test</groupId>
<artifactId>dev-test</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>dev-test-abc</artifactId>
<name>DEV-TEST::ABC</name>
<version>1.0.0-SNAPSHOT</version>
</project>
因為它在本地運行,所以我猜它與“ C:/users/USER/.m2/settings.xml”中的Maven設置有關,可能會導致該錯誤-可以移至項目pom使成功建立在詹金斯上成為可能?
需要注意的是:詹金斯大廈上的其他項目都取得了成功-因此我想POM中缺少這一點。
確保選擇目標存儲庫,但是看起來缺少發布者標記。 您可以使用名為maven artifactory的插件,下面的鏈接提供了示例和指南:
檢查Artifactory插件的版本。 參見: https : //www.jfrog.com/jira/browse/HAP-241
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.