maven项目打包上传到私有仓库
目录
- 1. 背景
- 2. 步骤
- 2.1 修改pom.xml
- 2.2 命令执行
- 2.3 成功后的依赖
- 3. 扩展
1. 背景 ??最近有些自己制作的工具包,需要单独抽取出来之后,
在打包的时候,同时上传到自己的maven私服仓库,供别人引用,并且还能够引用的时候看到源码
。但是,在上传的过程中总是失败不成功,特别上火。最后总算成功,记录下步骤,希望能够帮助到需要的人。2. 步骤 ??先说下我的要求:
- 本地打包能够自动上传maven私服仓库。
- 别人引用后,能够看到源码及注释。
2.1 修改pom.xml
2.1.1 指定上传仓库地址
??首先需要到自己项目里的
pom.xml
里添加下边一段releases http://maven.aaaa.com/nexus/content/repositories/thirdparty
??上图中,
id
后边会说,这里的url
的地址,是对应你仓库地址,你可以在浏览器里访问下类似http://maven.aaaa.com/nexus
的地址,输入账号密码,登录后,如下图4
对应的地址,就是:文章图片
??需要注意的是,因为上图中,我们仓库有好几个,我是上传到了
3
对应的仓库,你可以根据你们实际的仓库地址来就行。??另外
id
对应的releases
其实是与指定的maven
配置文件conf/setttings.xml
中对应,如下图所示:【maven项目打包上传到私有仓库】
文章图片
??如果对应的
settings.xml
里没有配置
对应的标签,那也需要添加一下。如下示例:releases admin znxd
??还有,注意仓库的账号密码需要正确。
2.1.2 添加源码插件
?? 上边的配置仅仅是指定仓库的地址,因为还需要让下载依赖的人,能够看到源码,因此还需要有一个插件,
maven-source-plugin
。再找到项目的pom.xml
,添加如下插件:org.apache.maven.plugins maven-source-plugin3.0.1 true compile jar
?? 最后,总结一下现在
pom.xml
新增的这俩东西的位置:org.apache.maven.plugins maven-source-plugin3.0.1 true compile jar releases http://maven.aaaaa.com/nexus/content/repositories/thirdparty
2.2 命令执行
??配置完成了之后,就可以执行命令了,这里可以通过两种命令实现,一种是开发工具
idea
里执行,另一种是通过环境变量的mvn
命令。??注意,不管用下边哪种命令,都需要先注意版本号,如果私服里存在你这个版本的包,那肯定会打包上传不成功,可能会报错:
Return code is: 400, ReasonPhrase: Bad Request
。??因此,别忘了改下版本。如下图所示:
文章图片
2.2.1 idea中执行
??如果你的开发工具是
idea
,其实eclipse
也一样,建议用这种方式。??在开发工具中,找到右侧的
maven project
,如下图所示:文章图片
??最终的命令,其实是执行了
clean deploy
。如果执行完后出现大概下边的日志,说明成功了。[INFO] Building jar:*******[INFO] Installing ****to*****[INFO] --- ****Uploading:[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------
??当然,也可以通过浏览器去访问下,找下是否仓库里有对应jar包。
2.2.2 mvn命令执行
??如果想使用
mvn
命令,那就需要注意maven环境变量配置,这里不说咋配置mvn命令了,这里说下步骤和注意的地方。??首先,打开项目所在目录,通过`cmd打开当前目录,如下图所示:
文章图片
执行命令如下:
mvn -s "C:\Program Files\apache-maven-3.5.011\conf\settings-154waiwang.xml" deploy
??其中
-s
是--settings
的缩写。?? 这里我也是被坑惨了,我一直以为,因为我在配置
maven
环境变量的时候,指定了maven_home
/m2_home
,我觉得,当我使用mvn
命令时,会自动使用对应的settings.xml
文件进行打包,然后并不是,所以为什么上边需要通过-s
来指定下settings.xml
才可以。?? 如果不指定的话,会报错
Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
,大概是无权限的意思。看来应该是不指定的话,会走一个默认的文件,因为那个文件里没有对应的账号密码,因此会报错。2.3 成功后的依赖
?? 上传成功后,可以通过地址找一下,如下图即表示成功:
文章图片
3. 扩展 ?? 比如你做这个依赖包,可能后边还会有更新的时候,但是如果以前的依赖包已经被别人使用,那不可能一个个的通知使用者,maven本身提供这种自动下载高版本的功能,只需要对
version
标签的值改一下。如下:com.agri znxd-framework[1.0,)
?? 其中
[1.0,)
表示更新从1.0
版本开始的最新包。这样有个好处就是,当你的扩展包更新成大于1.0
的包时,使用人的工程里,会自动变更为最新的包。这样你就可以在写错代码的时候,偷偷的自己更新成最新的包,避免尴尬。到此这篇关于maven项目打包上传到私有仓库 的文章就介绍到这了,更多相关maven打包上传到私有仓库 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- Ⅴ爱阅读,亲子互动——打卡第178天
- 我错了,余生不再打扰
- 2018-3-24
- 日志打卡
- 以读攻“毒”唤新活动曹彦斌打卡第二天
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 爷爷睡了
- Beego打包部署到Linux
- 我的小叔