Eri*_* J. 3 maven-2 repository
我正在重新配置很久以前其他人设置的构建服务器以使用新的Maven存储库.但是,旧的存储库仍然被引用,我无法弄清楚该引用的来源.
M2_HOME =的/ usr /共享/ maven2的
/etc/maven2/m2.conf(usr/share/maven2/conf/m2.conf链接在这里)
main is org.apache.maven.cli.MavenCli from plexus.core
set maven.home default ${user.home}/m2
[plexus.core]
load ${maven.home}/lib/*.jar
Run Code Online (Sandbox Code Playgroud)
/ etc/maven2/conf还有一个settings.xml,其中所有条目都被注释掉了.
构建用户有一个〜/ .m2/settings.xml:引用NewRepo.
<settings>
<pluginGroups>
</pluginGroups>
<servers>
</servers>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>personal</id>
<repositories>
<repository>
<id>new-repo</id>
<name>New Maven 2 Repo</name>
<url>http://NewRepo/</url>
</repository>
<!-- Some other standard repos like maven.org here -->
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ibiblio</id>
<name>Ibiblio Maven 2 Repo</name>
<url>http://repo1.maven.org/maven2/</url>
</pluginRepository>
<pluginRepository>
<id>apache-snapshots</id>
<name>Apache Snapshots Maven 2 Repo</name>
<url>http://people.apache.org./maven-snapshot-repository/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
Run Code Online (Sandbox Code Playgroud)
还有一个/mnt/public/maven/settings.xml,其内容与构建用户的settings.xml完全相同
我搜索了整个文件系统,以确保没有其他settings.xml文件.
跑步时
mvn release:prepare
Run Code Online (Sandbox Code Playgroud)
我收到警告:
[INFO]注意:Maven正在离线模式下执行.任何尚未存在于本地存储库中的工件都将无法访问.
跑步时
mvn release:perform
Run Code Online (Sandbox Code Playgroud)
我收到错误:
部署工件时出错:无法传输文件:http:// OldRepo
在哪里可以隐藏http:// OldRepo?
编辑
项目的pom.xml引用父POM,如下所示:
<parent>
<groupId>MyParent</groupId>
<artifactId>maven</artifactId>
<version>20090727</version>
</parent>
Run Code Online (Sandbox Code Playgroud)
没有提及
<distributionManagement>
Run Code Online (Sandbox Code Playgroud)
在项目的POM中.我无法找到父POM.
关于repositories在profile声明的内部settings.xml,文档说:
存储库是Maven用于填充构建系统的本地存储库的项目的远程集合.它来自这个本地存储库,Maven称之为插件和依赖项.不同的远程存储库可能包含不同的项目,并且在活动的配置文件下,可以搜索它们以查找匹配的版本或快照工件.
所以这不用于发布管理.要配置部署工件的位置,您需要distributionManagement在pom中添加元素.
以下是如何distributionManagement在项目pom.xml文件中配置元素的示例.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Application</name>
<url>http://app.mycompany.com</url>
...
<distributionManagement>
<repository>
<id>myRepoId</id>
<name>myCompanyReporsitory</name>
<url>ftp://repository.mycompany.com/repository</url>
</repository>
</distributionManagement>
...
</project>
Run Code Online (Sandbox Code Playgroud)
在您的pom或父pom中查找此元素(可以在公司父pom中声明).
编辑:你可以覆盖distributionManagement你的pom,但最好在父pom中修改它,并在你的企业存储库中发布这个新版本,如果这是一个明确的变化.
| 归档时间: |
|
| 查看次数: |
11055 次 |
| 最近记录: |