使用Maven部署构件至Nexus:日常开发生成的快照版本构件可以直接部署到Nexus中策略为Snapshot的宿主仓库中,项目正式发布的构件应该部署到Nexus中策略为Release的宿主仓库中。POM配置方式如下:
<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
nexus的仓库对于匿名用户是只读的,为了能够部署构件,还需要在settings.xml中配置认证信息,如下:
<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>
手动部署第三方构件至Nexus:某些 Java 构件因许可证因素,无法公开的部署到公共仓库中;或者,一些小型的开源项目(例如 SourceForge、GitHub 中的一些项目),没有将构件分发到中央仓库中,也没有维护自己的仓库,因而也无法从公共仓库获得。这个时候用户就需要将这类构件手动下载到本地,然后通过Nexus的界面上传到私服中。
要上传第三方构件,首先选择一个宿主仓库(例如:3rd party),选择 【Artifact Upload/Select GAV Definition Source】选项卡,上传构件即可。上传构件时,Nexus 需要用户确定其 maven 坐标,若构件是通过 maven 构建的,则可在 GAV Definition 下拉中选择 “From POM”即可;否则选择“GAV Parameters”即可。
定义好 maven 坐标后,点击【Select Artifact(s) to Upload...】按钮选择需要上传的构件,并点击【Add Artifact】将构件添加到列表中,如下图所示: