我有一个maven
项目,我已经在我的本地主机中拥有了所有依赖项。我想将所有这些依赖项推送到nexus/sonartype
。
我不想通过nexus界面上传来逐个推送jar
。
所以我将maven
存储库($MAVEN_HOME/repository)
的内容复制到{nexus-data}/storage/public
Nexus重启后必须重新计算索引吗?
答案 0 :(得分:2)
您可能想要使用Distribution Management -
<distributionManagement>
<repository>
<id>some-artifactory</id>
<name>Artifactory Name</name>
<url>http://your.artifactory.address/releases</url>
</repository>
<snapshotRepository>
<id>other-artifactory</id>
<name>Other Artifactory Name</name>
<url>http://your.artifactory.address/snapshots</url>
</snapshotRepository>
</distributionManagement>
存储库
存储库元素在POM中指定位置的位置 以及Maven可以下载远程工件以供其使用的方式 当前项目,distributionManagement指定这个(以及如何)的位置 部署时,项目将到达远程存储库。该 如果存储库元素将用于快照分发 snapshotRepository未定义。
答案 1 :(得分:2)
不要这样做。在Nexus 3中,Nexus不使用原始文件,所以依靠这种方法无论如何都不适合你。所以我将我的maven存储库($ MAVEN_HOME / repository)的内容复制到{nexus-data} / storage / public
您应该使用@nullpointer描述的分发管理。如果由于某种原因你不能,你可以写一个脚本来使用Nexus&#39; REST API用于上传许多工件。当你不使用Maven构建时,这会更有用。例如,您可能需要上传一大堆旧版jar文件。