从服务器的搭建,到项目部署运行,难道还有比这更全的环境搭建文档(二)
接上文
六、 nexus3搭建maven私服
搭建nexus3环境
\(~~~~~~~~\) 1. 官网下载对象的压缩包:下载地址:http://www.sonatype.org/nexus/go
\(~~~~~~~~\) 2. 通过shell上传到服务器
\(~~~~~~~~\) 3. 解压命令,解压
tar -zxvf
\(~~~~~~~~\) 4. 调整jvm参数
cd /nexus/bin/
vim nexus.vmoptions
#根据服务器适当调整jvm参数
保存
启动nexus(在bin目录下):
./nexus start
配置nexus私服,导入阿里云
\(~~~~~~~~\) 1. 登录nexus的可视化web页面,默认端口号8081
-
Nexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。
-
Nexus默认的用户名密码是admin/admin123
-
当遇到奇怪问题时,重启nexus,重启后web界面要1分钟左右后才能访问。
Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下),日志文件也在这里。
在阿里云控制台放开8081端口
访问:http://8.***.101.174:8081/
出现上面的页面即代表安装成功,
\(~~~~~~~~\) 2 . 配置 nexus
先看一下大概的目录结构:
资源库也就是这么三种
参考文章:Nexus搭建Maven私服全攻略一:认识Nexus与索引
\(~~~~~~~~\) 2 . 1 创建 Blob Strores
在创建 repository之前,还是需要先设定一个指定的文件存储目录(用来存放jar包),便于统一管理。在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。
\(~~~~~~~~\) 2 . 2 创建 Proxy Repository 代理仓库。
配置 Proxy Repository代理仓库。创建页面出来之后,页面上有三个框是必填的:
注意:可以多建几个proxy repository,以便于可以加入更多的远程maven仓库到我们的 group 仓库中。唯一一点,就是看加入的proxy资源库使用的是国内的还是国外的远程仓库。加入group资源库的顺序应是:hosted仓库 > 国内proxy仓库 > 国外proxy仓库。
这里推荐几个远程仓库:
jboss的maven中央仓库地址:http://repository.jboss.com/maven2/
阿里云的maven中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
apache的maven中央仓库地址:http://repo.maven.apache.org/maven2/
\(~~~~~~~~\) 2 . 3 创建 hosted repository 宿主仓库
\(~~~~~~~~\) Hosted有三种方式:Releases、Snapshot、Mixed
\(~~~~~~~~\) Releases: 一般是已经发布的Jar包
\(~~~~~~~~\) Snapshot: 未发布的版本
\(~~~~~~~~\) Mixed:混合的
\(~~~~~~~~\) 2 . 4 创建 group repository 仓库组
至此我们的nexus配置完成。
让 Maven 项目使用 Nexus 私服
$$3.1 下载Jar:设置 Nexus 为镜像地址\(3. 让 Maven 项目使用 Nexus 私服
\)
Maven 下的setting.xml文件和你自己项目中的pom.xml文件的关系:
-
settting.xml 文件就是本地电脑上的全局变量;而pom.xml文件就是局部变量。
-
pom.xml文件对于项目来说,是优先使用的。然而pom.xml文件中如果没有指定jar要从哪里下载的话,也就是说没有配置镜像地址的话,当然只能去按照settting.xml 中定义的地址去找了
拷贝的这个地址,就是下面即将在setting.xml文件中添加时使用的:
在我们maven的setting.xml中添加:
<!--自定义maven本地仓库地址-->
<localRepository>D:\apps\repository</localRepository>
<!--nexus服务器-->
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<!--仓库组的url地址 id和name自定义,mirrorOf的值设置为central,写死的-->
<mirrors>
<mirror>
<id>nexus</id>
<name>nexus repository</name>
<url>http://IP:8081/repository/myself_group/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
然后将IDEA或Eclipse的Maven->setting.xml 地址指向该 setting.xml 位置
$~~~~~~~~$3.2部署上传Jar:配置distributionManagement
配置 distributionManagement 节点,执行 deploy 命令时,会将jar发布到指定地址。
注意:配置
项目的pom.xml:
<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
settings.xml:
<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>
两个文件的 id 需要保持一致!
参考文章:Nexus搭建Maven私服全攻略二:安装和配置Nexus3
搭建环境系列
服务器,mysql5.7,jdk1.8,tomcat8,maven3.5(一)
nexus3搭建maven私服(二)
tomcat8,搭建jenkins自动化持续部署(代码在github)(三)