背景
最近在公司搭建maven私有仓库,在使用遇到一些坑,在此记录使用方式。maven私有仓库的搭建请参考其他博主文章。
- 配置项目使用的maven配置文件
- 项目中pom文件增加配置
- idea的deploy打包上传(注意版本号)
maven仓库配置(setting.xml)
1.配置发布库、快照库账号密码(这里是nexus的默认管理员账户密码)
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
2.配置远程仓库,类似于配置阿里云的镜像仓库,这里使用自己的私有仓库。
<mirror>
<id>releases</id>
<mirrorOf>*</mirrorOf>
<url>http://10.51.36.128:8081/repository/maven-releases/</url>
</mirror>
<mirror>
<id>snapshots</id>
<mirrorOf>*</mirrorOf>
<url>http://10.51.36.128:8081/repository/maven-snapshots/</url>
</mirror>
3定义profile并配置(注意id与下面的activeProfile相同)
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>releases</id>
<url>http://10.51.36.128:8081/repository/maven-releases/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://10.51.36.128:8081/repository/maven-snapshots/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>releases</id>
<url>http://10.51.36.128:8081/repository/maven-releases/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<url>http://10.51.36.128:8081/repository/maven-snapshots/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
项目中pom.xml文件配置
<distributionManagement>
<!-- 发布到快照版本的仓库,即测试版本仓库 -->
<snapshotRepository>
<id>snapshots</id>
<url>http://ip:port/repository/maven-snapshots/</url>
</snapshotRepository>
<!-- 发布到发行版本的仓库中,即正式版本仓库 -->
<repository>
<id>releases</id>
<url>ip:port/repository/maven-releases/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
注意事项
项目的版本号后带有snapshots快照的时,会打包到远程仓库的的快照库,本地安装不影响,不加后缀则会打包到发布库。