我有一个简单的maven项目,该项目可以在本地成功运行,但是在Jenkins上运行时却失败。
pom.xml:
[!] Android toolchain - develop for Android devices (Android SDK 28.0.1)
• Android SDK at C:\Users\marco\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.1
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
X Android license status unknown.
我在Jenkins上使用<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>
在本地运行,但使用Maven插件失败。
在詹金斯,我得到了关注:
mvn clean install
发生故障的模块的pom在这里:
[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)
因为它在本地运行,所以我猜它与“ C:/users/USER/.m2/settings.xml”中的Maven设置有关,可能会导致该错误-可以移至项目pom使成功在Jenkins上构建成为可能?
请注意:Jenkins大楼上的其他项目都取得了成功-因此我想POM中缺少这一点。
答案 0 :(得分:0)
确保选择目标存储库,但是看起来缺少发布者标记。您可以使用名为 maven artifactory 的插件,下面的链接提供了示例和相关指南:
答案 1 :(得分:0)
检查Artifactory插件的版本。 参见:https://www.jfrog.com/jira/browse/HAP-241