Maven项目连接&发布到Nexus私服
2017-09-22 10:09
495 查看
【前言】
接上一篇。
如果你本地还没有安装maven,那就……传送门;
如果你还没有搭建Nexus环境,那就……传送门;
【环境】
Windows7 x64、Eclipse Mars、Nexus 2.14.5-02、apache-maven-3.3.3、JDK1.7
(1)使用Eclipse创建普通的Maven项目
(2)在私服上上传了一个第三方jar包oracle的jdbc驱动,以便测试。
保存之后,再加入oracle驱动包的dependency,经测,可以正常下载依赖,说明该配置没有问题。
注意:以下配置修改之后需要在Eclipse里面进行update setting↓↓↓↓↓↓
至于这两种方式有什么区别嘛,我可以很不负责任的说,我也布吉岛……有兴趣的童鞋可以去百度一哈setting.xml文件的详细解析。
如果你看到了以下输出信息,说明已经发布成功了:
查看Nexus上的快照库,已经可以看到项目的jar包了:
辣么问题来了,以上的配置完成之后是只发布到Snapshots 快照库的,如果想发布一个正式release版本怎么办?偷偷告诉大家,其实这个是在这里控制的,注意不要眨眼睛↓↓↓↓↓↓
没错,这就是项目pom文件中的开头一段声明,其实maven是通过版本号version中是否带有“-SNAPSHOT”来判断是快照版本还是正式版本;如果想发布正式版本把“-SNAPSHOT”去掉只留版本号即可,加上之后即为快照版本。注意,这里的SNAPSHOT一定要大写,重要的事情只说一遍就行了<(* ̄▽ ̄*)/……
接上一篇。
如果你本地还没有安装maven,那就……传送门;
如果你还没有搭建Nexus环境,那就……传送门;
【环境】
Windows7 x64、Eclipse Mars、Nexus 2.14.5-02、apache-maven-3.3.3、JDK1.7
1.Maven项目连接私服
我已经提前准备好了如下工作:(1)使用Eclipse创建普通的Maven项目
(2)在私服上上传了一个第三方jar包oracle的jdbc驱动,以便测试。
1.1 单一项目连接配置
pom文件project节点下加入如下配置,以下配置只对本项目起作用。<!-- 配置私服仓库 --> <repositories> <repository> <id>nexus</id> <name>nexus</name> <url>http://192.168.1.80:8081/nexus/content/groups/public/</url> <!-- true表示开启该远程仓库中release版本的下载,下同 --> <releases> <enabled>true</enabled> </releases> <!-- true表示开启该远程仓库中snapshots版本的下载,下同 --> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <!-- 配置私服插件库 --> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>nexus</name> <url>http://192.168.1.80:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
保存之后,再加入oracle驱动包的dependency,经测,可以正常下载依赖,说明该配置没有问题。
1.2 全局连接私服配置
相对前面的方式,还有一种方式作用效果更为广泛,即修改本机maven安装目录下conf/setting.xml文件的配置,如下:注意:以下配置修改之后需要在Eclipse里面进行update setting↓↓↓↓↓↓
(1)方式1:设置镜像mirror
<!-- 只需设置该镜像仓库配置即可 --> <mirrors> <mirror> <id>nexus</id> <name>nexus maven</name> <url>http://192.168.1.80:8081/nexus/content/groups/public/</url> <!-- 还有central等配置 --> <mirrorOf>*</mirrorOf> </mirror> </mirrors>
(2)方式2:设置profile
<!-- 该配置类似于之前单一项目的连接配置,没错,只不过是拿出来放到了全局setting.xml文件中了; 如果两边同时存在id相同的repository,则setting.xml文件中的会覆盖pom.xml文件中的配置 --> <profiles> <profile> <id>nexus profile</id> <repositories> <repository> <id>nexus</id> <url>http://192.168.1.80:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <url>http://192.168.1.80:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- 注意此处要对以上设置进行激活 --> <activeProfiles> <activeProfile>nexus profile</activeProfile> </activeProfiles>
至于这两种方式有什么区别嘛,我可以很不负责任的说,我也布吉岛……有兴趣的童鞋可以去百度一哈setting.xml文件的详细解析。
2.发布项目到私服仓库
2.1 首先配置pom.xml
<distributionManagement> <repository> <!-- 注意:这里的id一定要和setting.xml文件中server下的id保持一致,下同 --> <id>nexus-releases</id> <name>Local Nexus Repository</name> <url>http://192.168.1.80:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Local Nexus Repository</name> <url>http://192.168.1.80:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
2.2 其次配置setting.xml
<!-- 该配置是用于发版打包项目到Nexus时的用户信息认证,注意:该用户一定要有相应的权限才可以 --> <servers> <server> <!-- 注意:这里的id一定要和distributionManagement下repository中的id保持一致,下同 --> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers>
2.3 最后运行deploy命令发布
都配置完成之后,选择项目右键→Run As→Maven build(第二个)→Goals 中输入“deploy”→Run如果你看到了以下输出信息,说明已经发布成功了:
查看Nexus上的快照库,已经可以看到项目的jar包了:
辣么问题来了,以上的配置完成之后是只发布到Snapshots 快照库的,如果想发布一个正式release版本怎么办?偷偷告诉大家,其实这个是在这里控制的,注意不要眨眼睛↓↓↓↓↓↓
没错,这就是项目pom文件中的开头一段声明,其实maven是通过版本号version中是否带有“-SNAPSHOT”来判断是快照版本还是正式版本;如果想发布正式版本把“-SNAPSHOT”去掉只留版本号即可,加上之后即为快照版本。注意,这里的SNAPSHOT一定要大写,重要的事情只说一遍就行了<(* ̄▽ ̄*)/……
相关文章推荐
- Maven项目的打包发布到Nexus私服和服务器
- 将Maven项目发布到Nexus私服
- 如何发布本地maven项目jar包部署到nexus私服?
- gradle 项目构建以及发布maven 私服&& docker 私服构建发布
- 将Maven项目发布到Nexus私服
- 如何配置maven项目连接私服(nexus)
- 将Maven项目发布到Nexus私服
- 使用 maven 部署项目到私服 nexus 出现 Deployment failed 问题的解决方法
- 本地项目使用maven打包到nexus私服
- Maven发布项目到本地仓库和远程私服仓库
- 3.发布Maven项目到nexus中
- Maven私服Nexus搭建&应用
- Maven项目里的pom解析和nexus私服
- 发布本地项目和源码到maven私服中
- 简单介绍maven项目上传到nexus私服细节
- Maven入门指南⑥:将项目发布到私服
- maven探究五:发布工程到nexus私服中
- 3.发布Maven项目到nexus中
- MyEclipse 配置maven项目pom.xml设置 上传项目到nexus私服,通过中转仓库下载插件,以及nexus的配置
- Java Maven项目之Nexus私服搭建和版本管理应用