最近打算看看Mybatis源码,下载下载Mybatis源码导入eclipse后发现,Maven有个mybatis-parent的依赖
<parent>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-parent</artifactId>
<version>19-SNAPSHOT</version>
</parent>
在maven服务器只有18版本。为了解决问题,只好打算自己下载mybatis-parent源码自己打包上传到本地私服。测试发现,SNAPSHOT的构建不能通过Artifact Upload的方式上传。于是查资料解决问题,就有了这篇文章,记录一下Snapshot构建如何通过私服发布。
snapshot和release库的区别和作用:http://www.mzone.cc/article/277.html
一,配置本地私服
1.登陆Sonatype Nexus
我们本地私服URL为 http://10.18.119.xxx:8081/nexus/
默认用户名/密码为admin/admin123
2.修改可以上传Snapshots
选择图片上1处的Views/Repositories-Repositories,图片上2中的Snapshots,将图片上3处的Depolyment Policy设置为Allow Redeploy
3.查询本地私服发布管理配置(distributionManagement)
点击图片上4处的Summary。下方的配置稍后用到
二,修改项目、本地配置
4.修改Maven项目POM文件
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.18.119.200:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
我的配置如上。SnapShot仓库设为本地私服,复制下来第三步的结果就好。我的需求Repository就不用动了。
5.修改本地Maven配置
默认配置文件在 maven目录/conf/settings.xml
搜索<servers>字段,在servers之间添加本地私服账号配置
<servers>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
我的代码如上。其中id为distributionManagement中仓库的ID,用户名密码就是登陆Nexus账户的用户名密码。
6.发布至私服
进入项目目录(与POM同目录),执行
mvn deploy:deploy
7.搞定收工