У меня есть простой проект 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>
Я запускаю его локально с mvn clean install
на Jenkinsон не работает с подключаемым модулем maven.
На Jenkins я получил следующее:
[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)
Здесь указан модуль отказа:
<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>
Как он работаетЯ думаю, что это что-то с настройками maven, которые находятся в "C: /users/USER/.m2/settings.xml", есть что-то, что может вызвать эту ошибку - это можно переместить в pom проекта, чтобы сделать это возможнымУспешно ли строить Дженкинс?
Как примечание: Другие проекты по строительству Дженкинса успешны - так что, я думаю, в POM чего-то не хватает.