我需要使用Jenkins在无法访问maven central的服务器上构建和发布项目,甚至无法访问Nexus.
鉴于我可以访问dev机器上的maven-central,以填充maven local_repository,我可以做到
mvn dependency:resolve-plugins dependency:go-offline
Run Code Online (Sandbox Code Playgroud)
然后复制linux服务器上的local_repository.
然后,获得的骑Non-resolvable parent POM错误,如描述在这里,我充满了特定的配置文件用于Windows(开发)和Linux(詹金斯)以虚假的中心轮廓覆盖由我父POM制成的Maven的中央参考:
<profiles>
<profile>
<id>windows</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties> <repository.base.url>file:///c:/maven_distribution_repo/</repository.base.url>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<os>
<family>Linux</family>
</os>
</activation>
<properties>
<repository.base.url>file:///appli/Maven_3.1.1_build/maven_distribution_repo/</repository.base.url>
</properties>
<repositories>
<repository>
<id>central</id>
<name>Maven Plugin Repository</name>
<!--<url>http://repo1.maven.org/maven2</url>-->
<url>${repository.base.url}</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Maven Plugin Repository</name>
<!--<url>http://repo1.maven.org/maven2</url>-->
<url>${repository.base.url}</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
这样,mvn -o compile仍然会引发Non-resolvable parent POM错误!但是使用此处--legacy-local-repository …