背景:
项目有开放服务模块,现有个需求,需要把开放服务提供成一个jar包,用户可以直接对接。
流程:
1、在pom.xml文件添加distributionManagement节点,将项目打包上传到私服
<!-- 配置远程发布到私服,mvn deploy --> <distributionManagement> <repository> <id>temp_releases</id> <url>http://xx/xx/releases/</url> </repository> <snapshotRepository> <id>temp_snapshots</id> <url>http://xx/xx/xx-snapshots</url> </snapshotRepository> </distributionManagement>
2、修改settings文件中server配置
<!-- 远程仓库--> <servers> <server> <id>temp_snapshots</id> // 快照仓库 ID <username>admin</username> <password>admin1234</password> </server> <server> <id>temp_releases</id> // 发布仓库 ID <username>admin</username> <password>admin1234</password> </server> </servers>
注:pom.xml中配置distributionManagement中repository里的id需要和settings文件中server配置里的server id名称保持一致。
3、部署
3.1、通过Maven命令行部署
- maven package:打包到本项目,一般是在项目target目录下。
- maven deploy:将打包的文件发布到远程仓库(私服),提供其他人员进行下载依赖。==》这个在本地仓库也会生成。
3.2、在Idea界面操作打包和发布
- 在idea上打开已经开发好待发布的项目,在侧边栏(默认在右边栏)找到Maven窗口,找到要发布的项目,点击项目名称左边的三角,展开找到Lifecycle,展开找到clean、package、deploy,依次右键“Run Maven Build”或者“Run 项目名称”按钮就可以了。然后等着底部的控制台输出打包过程日志,[INFO] BUILD SUCCESS 表示操作成功。
-
注:执行deploy命令时,根据Return code和提示做错误排查,常见error如下:
1、疑似封网导致失败提示:Return code is: 405, ReasonPhrase: Not Allowed. -> [Help 1]
2、settings文件配置异常可能会导致:Return code is: 504 , ReasonPhrase:Gateway Time-out. -> [Help 1]