如何使用maven创建一个从我的仓库中获取工件的简单项目?这些工件将保存到哪里 - 我的默认maven回购?
我正在使用Apache Archiva。
答案 0 :(得分:0)
只需开始使用像Nexus这样的存储库管理器就可以了。请根据以下内容配置settings.xml文件:
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>URL OF your ARCHIVA SERVER</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
正在下载的工件首先存储在Archiva中,当然也存储在您的硬盘$HOME/.m2/repository
上。
如果您想将工件部署到archiva,您需要在pom文件中配置distributionManagement,如下所示:
<distributionManagement>
<repository>
<id>releases</id>
<name>Archiva RElease repo</name>
<url>http://URL OF YOUR ARCHIVA/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots<id>
<name>Archiva Snapshots repo</name>
<url>http://URL OF YOUR ARCHIVA/snapshots/</url>
</snapshotRepository>
...
</distributionManagement>
...
要对此进行测试,您可以使用mvn deploy
查看是否将artiacts部署到快照存储库。您可以将测试项目的版本更改为1.0
并重做mvn deploy
,它将尝试将工件部署到发布存储库中。