Maven项目发布到公司内部Repository(Nexus) #阶段性反刍#
FuqiangWang
配置结构关系
项目pom.xml配置
第一, 先配置发布到哪个repository相关信息:
distributionManagement>
<repository>
<id>deployment</id>
<name>internal repository for releases</name>
<url>http://192.168.1.248:9111/nexus/content/repositories/releases</url>
<repository>
</snapshotRepository>
<id>deployment</id>
<name>internal repository for snapshots</name>
<url>http://192.168.1.248:9111/nexus/content/repositories/snapshots</url>
<snapshotRepository>
</distributionManagement> </
第二, 配置deploy插件:
plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<plugin>
</plugins> </
顺便把这些plugin一起配置,这样可以jar, source jar, javadoc jar一起发布:
plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java_source_version}</source>
<target>${java_target_version}</target>
<encoding>${file_encoding}</encoding>
<configuration>
</plugin>
</plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
<goals>
</execution>
</executions>
</plugin>
</plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<charset>${file_encoding}</charset>
<encoding>${file_encoding}</encoding>
<configuration>
</executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
<goals>
</execution>
</executions>
</plugin> </
settings.xml配置
Nexus通常会设置认证, 只允许指定的credentials可以发布artifacts到nexus, 而这些认证信息就配置在settings.xml中:
servers>
<server>
<id>deployment</id>
<username>deployment</username>
<password>${password}</password>
<server>
</servers> </
注意: server的id值需要跟pom.xml中每一个repository的id值相对应!!! (因为我们是为这些distributionManagement的repository提供认证信息)
执行发布/部署
在当前项目目录下执行mvn deploy
坐等发布成功!
「福强私学」来一个?
「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。
开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。