一.安装maven和java
参考: https://blog.csdn.net/weixin_43564690/article/details/111662000
步骤如下:
1:下载安装包
wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate
2:解压
tar -xf apache-maven-3.5.4-bin.tar.gz
3:前往/usr/local/下创建文件夹 maven
cd /usr/local/
mkdir maven
4:将解压后的文件移至maven,并且更新名称 叫maven加版本号
mv 解压后的文件路径 maven
mv 文件名称 新名称
5:配置环境变量 vi /etc/profile
export MAVEN_HOME=/usr/local/maven/maven3.5.4
export PATH=$PATH:$MAVEN_HOME/bin
source profile
6:验证是否安装成功
mvn -version
这里会显示没有java环境报错,所以还得安装java环境;
7:mavne需要安装java:
8:修改maven存放jar包的路径 前往安装目录下的conf目录下,vi setting.conf,找到 <localRepository>/path/to/local/repo</localRepository> 在注释后面添加
<localRepository>/usr/local/maven/repository</localRepository>
保存退出
记得创建对应的repository文件夹
9:验证是否安装成功
mvn -version
10.java、maven的配置:
二:安装nexus(官网:https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3)
1.先前往/usr/local/installactionPackage下载安装包(需要fanqiang下载,建议本地下载后上传到linux服务器上)
wget https://download.sonatype.com/nexus/3/nexus-3.32.0-03-unix.tar.gz
2.解压
tar -xf nexus-3.32.0-03-unix.tar.gz
3.将解压后的文件移至/usr/local/下面 (有两个文件 nexus-3.32.0-03 与 sonatype-work)
#记得创建nexus文件夹
mv 文件名称 ../nexus
4.开放端口8081
#开放端口
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
#重启防火墙
service iptables restart
5.配置nexus环境变量
export PATH=$PATH:/usr/local/nexus/nexus-3.32.0-03/bin
6.启动
nexus start
7.验证
在浏览器打开http://localhsot:8081/
8.修改nexus的jvm内存 前往bin目录下 vi nexus.vmoptions,修改下面配置
-Xms2048m
-Xmx2048m
-XX:MaxDirectMemorySize=2048m
9.修改端口,前往etc目录下,vim nexus.properties ,修改下面配置
application-port=8081
10.重新加载配置文件
nexus force-reload
11.登录 用户名称是 admin
#查看密码
找一下admin.password文件
登录界面:
三:nexus基本命令和配置
0.基本命令
nexus start|stop|run|run-redirect|status|restart|force-reload
1.启动
nexus start
2.停止
nexus stop
3.重启
nexus restart
4.查看状态
nexus status
5.修改配置后需要重新加载
nexus force-reload
四:简介
1.默认仓库说明:
maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar
maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用
2.仓库类型说明:
group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。
maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,
3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。
hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件
snapshots:本地项目的快照仓库
releases: 本地项目发布的正式版本
proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),
如可配置阿里云 maven 仓库
central:中央仓库
五:配置maven访问nexus
1.nexus配置阿里云代理,加快下载jar速度
这是已经配置好的,
主要修改这个地址: http://maven.aliyun.com/nexus/content/groups/public/
然后配置maven-public:将aliyun-proxy配置到最前面,最优先使用aliyun的jar
配置好后,再配置我们本地的maven ,setting文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| Default: ${user.home}/.m2/repository-->
<localRepository>D:\Software\maven\maven-repo-private</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
<id>maven-public</id>
<!--镜像名称 -->
<name>maven-public</name>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>*</mirrorOf>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
<url>http://nexus地址/repository/maven-public/</url>
</mirror>
</mirrors>
<activeProfiles>
<activeProfile>nexusProfile</activeProfile>
</activeProfiles>
</settings>
然后我们项目的pom.xml文件,就可以访问到刚搭建的nexus了。我们新建一个依赖,看看是否是访问新建的nexus。
访问地址已经是nexus的地址了,说明成功了,并且nexus上面有了刚才下载的jar了
六:本地的jar,如何上传到nexus
首先 maven setting文件,配置上传的jar地址和用户账号,因为上传jar需要验证账号密码
然后项目的pom文件中,进行如下设置:
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Releases</name>
<url>http://nexus地址/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Snapshot</name>
<url>http://nexus地址/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意:pom中id,要与maven id一致,maven的id 要与 nexus中repository的id一致
设置好了,然后执行mvn deploy命令,该命令的含义是:将项目jar打包发布到本地maven仓库,并上传到nexus私服!
查看nexus:上传成功