通过Maven发布构建到NEXUS私服上
发布构建到私服 --- mvn deploy
POM中通过distributionManagement分发本地构建到NEXUS私服上
第一步,配置distributionManagement
<project> ...
<distributionManagement> <!-- 配置快照版本发布的仓库-->
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshots Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
<!-- 配置release版本发布的仓库-->
<repository>
<id>nexus-releases</id>
<name>Nexus Releases Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
</distributionManagement> ... </project>
第二步,在settings文件中,配置上传构建时需要的账号(必须通过有效账号才能deploy)
注意: <id>属性指代的就是POM中配置Repository的id,必须一一对应。
<settings> ... <servers>
<!-- 配置上传snapshot构建时使用的账户 -->
<server>
<id>nexus-snapshots</id>
<username>root</username>
<password>root</password>
</server>
<!-- 配置上传release构建时使用的账户 -->
<server>
<id>nexus-releases</id>
<username>root</username>
<password>root</password>
</server> ... </settings>
现在,就可以通过Maven的deploy命令,将本地的Maven项目上传到私服上了,只要能够访问私服的,都能下载到这些构建。
补充:
为了上传jar同时上传源码.使用mvn deploy 即可.同时要保证 pom.xml文件中有:
<project>
<build>
<plugins>
<!-- 要将源码放上去,需要加入这个插件 -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如单独的打源码包可执行 mvn source:jar
例如dubbo源码 : mvn clean source:jar install -Dmaven.test.skip=true