前提条件:虚拟机已经安装好centos系统(或者操作系统为Linux)
(此环境为虚拟机的CentOS6.5)
一、安装JDK(jdk-8u221-linux-x64.rpm)
[JDK(Linux版本)]https://download.csdn.net/download/tan3739/11128054
1)需要将安装包拖到虚拟机的root文件夹里
2)打开终端输入命令:rpm -ivh jdk-8u221-linux-x64.rpm
3)输入 java -version 命令查看
4)配置jdk环境变量
在终端输入 vi /etc/profile 命令进入vim编辑(输入i进入编辑状态)
修改添加:
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin
然后按ESC 输入:wq保存退出
二、安装Maven(apache-maven-3.6.3-bin.tar.gz)
[Maven(Linux版本)]https://download.csdn.net/download/kcwmt/12041444
1)步骤与jdk相似
创建放置的文件夹释放
2)配置环境变量
添加
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
3)输入mvn -maven查看
三、安装Nexus
[Nexus(Linux版本)]https://download.csdn.net/download/qq_40664795/11438501
1)需要将安装包拖到虚拟机的root文件夹里
2)在usr/local创建一个nexus文件夹,然后将安装包拷贝到nexus下面
cd进入nexus文件夹 然后释放
3)设置环境变量(按官网文档的说法是可选,不过还是配上吧)
修改添加
export NEXUS_HOME=/usr/local/nexus-2.14.3-02
然后source /etc/profile 刷新刚设置的环境变量,使之生效
4)设置网卡
输入命令ifconfig查看IP地址
在bin下修改
将RUN_AS_USER=root
:wq保存退出
5)启动服务并关闭防火墙
要保证适配器那个是启用状态
6)在浏览器输入192.168.223.128:8081/nexus进入nexus界面
账号:admin 密码:admin123 (默认)
6.1界面元素介绍
登录后,点击左侧Repositories,界面如上图所示。
右侧的列表中,可以看到nexus预设的几个仓库。
第一个public Repositories,类型为group,这个简单理解为仓库的集合,下面的仓库就是可以加入到这个集合的元素。
对外可以只提供一个单独的url,如上图显示为:http://192.168.2.141:8081/nexus/content/groups/public/
大部分的终端用户,只需要配置上面这一个单独的聚合后的url,而不用单独配置多个仓库。用户也不需要知道某个jar包具体来源于maven 中央仓库,或者是Apache Snapshots,或者是我们自己添加的其他仓库。
这样的好处在于:如果我们要新增某个仓库(如开源中国、阿里云),客户端不需要做任何更改,只需要在nexus上将要新增的仓库加入到对外提供服务的仓库 group中就可以。
第二个3rd party,与倒数第一个和第二个仓库,Releases和Snapshots一样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。
倒数第二个Releases,用于存放开发团队内部用的正式版的依赖。
倒数第一个Snapshots,用于存放开发团队内部日常构建的频率更新较快的依赖包。
Apache Snapshots和Central类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation 发布的快照版本(这么翻译不知道对不对),后者为Maven中央仓库,我们平时maven默认就是连接该仓库。
Central M1 Shadow类型为virtual,按官方文档的意思是,只是已有仓库的一个不同呈现方式的映射。有需要可以参考官方手册6.2.3节
6.2仓库集合界面
点击Configuration,可以看到当前添加到该集合的仓库列表及顺序(优先级高的在上面,可用鼠标拖拽),当我们新增了仓库,将会出现在右侧的available Repository,添加到左边即可。
如果有哪个仓库不想加入到该集合,也可以拖拽到右边来。
7)Maven Nexus 手动更新索引
访问http://repo.maven.apache.org/maven2/.index/下载中心仓库最新版本的索引文件,在一长串列表中,我们需要下载如下两个文件(一般在列表的末尾位置)
nexus-maven-repository-index.gz
nexus-maven-repository-index.properties
下面就是解压这个索引文件,虽然后缀名为gz,但解压方式却比较特别,我们需要下载一个jar包indexer-cli-5.1.1.jar,我们需要通过这个特殊的jar来解压这个索引文件。
https://mvnrepository.com/ 上面检索
http://central.maven.org/maven2/org/apache/maven/indexer/indexer-cli/5.1.1/indexer-cli-5.1.1.jar
将上面三个文件(.gz & .properties & .jar)放置到同一目录下,运行如下命令
java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d indexer
等待程序运行完成之后可以发现indexer文件夹下出现了很多文件,
将这些文件放置到{nexus-home}/sonatype-work/nexus/indexer/central-ctx目录下,重新启动nexus
本地maven下的setting.xml的一些修改
在mirrors里添加
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.172.128:8081/nexus/content/groups/public/</url>
</mirror>
在profiles里添加
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>