通过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