目录
1.Nexus介绍
内网访问,内网团队使用一个服务缓存节省外网宽带。
微服务开发中加速 Maven 项目构建,加快团队合作,提高工作效率
允许上传和下载私有库,并且不被外部访问,安全 稳定。
方便内部项目服务的依赖引用,而不需要其他项目的完整源代码。
2.操作步骤
1.下载Nexus
官网地址:Download Repository OSS 但是下载速度比较慢
这里我下载好了打包到了网盘,可以直接通过我的网盘去下载,地址如下:
链接:https://pan.baidu.com/s/1HpSD5_BKI5uoARB7YaM76w?pwd=bt4m
提取码:bt4m
下载完成后会获得一个压缩包,解压即可
2.安装和启动nexus
1.linux中安装nexus
上传文件夹中的nexus-3.31.1-01-unix.tar.gz到服务器
使用tar -zxvf nexus-3.31.1-01-unix.tar.gz命令解压压缩包
解压完成后的文件结构:
进入/nexus/nexus-3.31.1-01/etc 编辑 nexus-default.properties修改nexus端口(也可以不修改,默认端口是8081)
vi nexus-default.properties
编辑完成后,使用./bin/nexus命令启动私库
这时报错启动失败,原因是因为没有安装jdk,那么搞一个jdk到服务器上,然后指定一下JAVAHOME目录即可:
注意:nexus必须要jdk1.8才行!!!
若没有安装包可以直接使用wget在linux上下载安装包
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
如果运行结果是未找到wget命令:
那么只需要运行yum install wget 安装一个wget即可
安装完毕后再运行上面的命令即可
下载完成后会得到一个jdk-8u131-linux-x64.rpm文件,运行rpm -ivh jdk-8u131-linux-x64.rpm即可安装jdk1.8
安装完成后,jdk默认路径在/usr/java/jdk1.8.0_131,在环境变量中配置上即可
修改环境变量:vi /etc/profile
在文件最后一行加上:
export JAVA_HOME=你的jdk文件放置路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存并退出后,使用 source /etc/profile 命令刷新配置文件
刷新后使用java -version 若出现以下信息则证明jdk安装成功
若出现权限不够的问题,使用chmod -R 755 给jdk所在的文件夹赋权即可
安装完成jdk后,再启动nexus私库
此时运行会发现报错了,因为:默认情况下nexus是不能用root用户启动的,当我们使用root用户启动时会报错
所以我们需要专门创建一个普通用户来运行nexus 运行 useradd nexus && passwd 12345678 命令创建nexus用户
用户创建完成后,需要配置用户打开文件的现在,编辑/etc/security/limits.conf文件输入nexus - nofile 65536 这个设置会让名为 nexus 的用户的最大打开文件数限制为 65536
文件数量限制修改完成之后,修改nexus所在文件夹的权限和所属给新建的用户
chown -R nexus:nexus /data/nexus/
chmod -R 755 /data/nexus/
切换到nexus用户
su - nexus
启动nexus
注意:
这里启动有俩种方式,一种是run 一种是 start
./bin/nexus start 后台运行,使用./bin/nexus status可以查看运行状态
./bin/nexus run 前台运行,可以实时查看日志
这里启动按个人喜好来,我这里演示的是run的方式启动
出现started即为启动成功:
启动成功后访问linux虚拟机的ip+自定义的端口,或者默认端口8081即可查看是否启动成功,出现以下页面,那么即为安装成功
至此 linux中安装nexus完成
2.windows中安装nexus
默认端口是8081可能会和其他程序端口有冲突,修改nexus端口,可以进入\nexus-3.31.1-01\etc目录,修改nexus-default.properties文件中的port
使用 ./nexus.exe /install nexus安装nexus
安装完成后使用 ./nexus.exe /start启动私库
启动完成后访问localhost:port 访问私库 (localhost:8088)
当看到这个页面就表示安装完成了
3.使用私服
1.登录管理员
启动成功后 密码会随机生成 在\nexus\sonatype-work\nexus3 目录下有一个password文件中,linux同理
linux:
windows:
使用这个文件里的密码进行登录,用户名为admin,登录成功后会进行二次验证,这里输入相同的密码即可:
点击next以下是不重要的选择,跟着填就行
最后,admin.password文件是一次性的,当你登录成功改文件会被删除,下次登录相信我你肯定不会记得密码的,所以一定要记得修改用户密码:
2.私服介绍
1.配置参数认识
nuget-hosted:本地存储。像官方仓库一样提供本地私库功能
hosted有三种方式:Releases、Snapshot、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
nuget.org-proxy:提供代理其它仓库的类型
nuget-group:组类型,能够组合多个仓库为一个地址提供服务
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库打包发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用
2.创建仓库
点击 Create repository创建maven代理仓库(proxy类型)
以阿里云为例,创建本地阿里云代理仓库(也可以创建华为云、腾讯云)
配置好阿里云镜像地址后,点击创建即可,这里提供一个查看阿里云各版本仓库的地址:仓库服务
创建完成后会回到仓库管理页面,这时就能看到我们创建成功的代理仓库了,同时也可以看到代理仓库的状态是否正常
再创建一个本地仓储用来存放release版本的jar包
类型一定要选择release
配置完成后,最后将阿里云镜像配置为优先使用
4.maven使用私库
1.安装maven
2.配置maven
把私库地址配置到maven配置文件中
<?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>C:\\Users\\monke\\.m2\\repository</localRepository> -->
<localRepository>D:\software\apache-maven-3.6.1\repository</localRepository>
<servers>
<!-- 配置本地仓库访问私服的权限 nexus的 登录用户名密码 -->
<server>
<id>nexus</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<!-- 配置本地仓库资源来源 -->
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8088/repository/maven-public/</url>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
项目部署和发布需要在pom.xml中添加 distributionManagement 配置
<!-- maven仓库配置 deploy时可推送到配置的仓库中 -->
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Releases Repository Pro</name>
<url>http://localhost:8088/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshots Repository Pro</name>
<url>http://localhost:8088/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.在项目中打包部署和发布
maven命令介绍:
package 命令完成了项目编译、单元测试、打包功能,但并没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓3库,但没有布署到远程maven私服仓库
deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
使用deploy打包并部署到私库,并在私库中查看
5.向私库添加jar包
公网上找不到的开发包或者是客户提供的特殊的开发包,开发人员可以通过Maven添加jar包,将jar包中的功能添加到私库中供其他链接私库的人使用
流程:
1.添加jar
点击右侧的“Upload”,点击“maven-releases”
点击Browse上传准备好的jar包
点击“Extension”,填入相对应的jar包文件类型名称。如上传xxxx.jar,则“Extension”填入“jar”
自定义编辑Group ID(输入英语或数字)、Artifact ID(输入英语或数字)和Version。输入完成后,勾上“Generate a POM file with these coordinates”,点击“Upload”
注意:这里的设置的id在pom中引入也是用相同的名称
上传完成后,可以点击"view it now"查看
也可以搜索查看
点击搜索到的结果查看上传的jar包的详情
2.使用jar
在pom.xml中,使用刚刚定义的groupId和artifactId以及version即可使用上传的jar包
<dependency>
<groupId>admin</groupId>
<artifactId>test</artifactId>
<version>1.0</version>
</dependency>