一、安装并使用 Nexus 3
1:下载地址:https://help.sonatype.com/repomanager3/product-information/download
Windows解压后:
2:进入/nexus-3.61.0-02/bin 目录下,并启动cmd命令打开命令窗口,并输入nexus /run 等待启动
3:启动完成之后默认请求地址:http://localhost:8081/
默认账号密码:admin / admin123
界面显示:
4:linux上的安装
先下载linux的压缩包并上传到服务器中。配置文件位置都一样的。linux环境注意需要开放对应nexus的端口
start命令启动(后台进程形式)
./nexus start
浏览器访问Nexus的Web端首页,输入Linux服务器ip:8081
注意:不要用root用户启动nexus
二、把Nexus 3 设置为系统服务,以便在Windows中启动
1:还是在/nexus-3.61.0-02/bin 目录下,并启动cmd命令打开命令窗口,并输入nexus.exe /install nexus3 (命令提示符窗口需要以管理员方式打开,否则会报错,Windows7会出现这种情况)
2:显示安装完成后 去控制面板 --> 管理工具 --> 服务中 查看 nexus3 的服务(默认是未启动的,需要将对应服务启动)
注意:服务启动过程需要一定时间,在浏览器中打开 http://localhost:8081/ 需要等待一定时间。
三、配置nexus并熟悉对应文件夹的含义
1:文件结构
nexus-3.5.2-01 安装目录
bin 包含nexus的启动脚本和相关配置
etc jetty、karaf等配置文件
jre jre环境
lib java架包库
public 关于nexus应用在本地跑起来所需要的资源
system 应用所有的插件和组件
LICENSE.txt 和 NOTICE.txt 版权声明和法律细则
sonatype-work\nexus3 数据文档
blobs/ 创建blob的默认路径,如果你指定了绝对路径,那就不在这里了
cache/ 当前缓存的karaf包的信息
db/ OrientDB数据库的数据,用于存储nexus的元数据的数据库
elasticsearch / 当前配置的Elasticsearch状态
etc/ 大概是运行时配置状态和关于资源库的自定义的相关的东西
health-check/ 看目录,健康检查的相关报告的存储目录吧
keystores/ 自动生成的关于资源库的ID主键
log/ 运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件
tmp/ 用于存储临时文件的目录
2:nexus应用的JVM参数
3:可配置nexus启动的端口号,可以在 nexus-default.properties 中配置
application-port 端口号
application-host 请求地址
nexus-context-path / 可更改为 /lkx/ 那么请求地址就是 http://localhost:8081/lkx/
四、搭建maven私有仓库(重点)
1:自定义文件存储目录(方便统一管理)
2:先介绍对应的结构目录(主要关注maven的资源库)
这些是我自己的理解
proxy 就是配置了外网的maven远程仓库地址的资源库,本地找不到,就会通过 proxy 中的地址,找到远程仓库,从远程仓库中下载所需要的jar
group 可以在这个组资源库中配置多个 proxy 与 hosted
hosted 就是放在本地的资源库,各种jar,从远程仓库中下不到,只能自己在网上找,找到jar下载下来,放在托管资源库中,交给nexus统一管理
3:proxy 代理资源库(以我阿里云的这个proxy来举例)
4:hosted 托管资源库
Hosted有三种方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
创建时选择 maven2(hosted)
部署更新策略改成 允许重新部署
5:group 组资源库
创建时选择 maven2(group)
五、将maven项目打包到nexus私有仓库中
1:配置setting.xml文件
1、在servers中配置
<server>
<id>yizhuo-maven</id> <!-- 自定义ID mirror需要使用 -->
<username>admin</username> <!-- nexus 的账号 -->
<password>123456</password> <!-- nexus 账号对应的密码 -->
</server>
2、在mirrors中配置<mirror> <!-- 最好在maven配置中加上阿里云镜像仓库(虽然yizhuo-maven仓库组中配置了阿里云的镜像,但是有时候还是会有一些依赖下载不下来) -->
<id>yizhuo-maven</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>yizhuo-maven</id> <!-- 这里的id要与server里面的id对应,因为访问仓库也需要用户名密码 -->
<mirrorOf>*</mirrorOf> <!-- *表示所有依赖,都会从这个仓库(私服)拉取 -->
<url>http://localhost:8081/repository/yizhuo/</url> <!-- 仓库组(group)的url(仓库组右边copy) -->
</mirror>
2:在对应Maven项目中引用对应setting.xml文件,并配置pom推送jar到私有maven仓库配置
[1]: 配置setting
[2]: 配置pom推送jar到nexus的私有maven仓库
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.yizhuo</groupId>
<artifactId>yz-core</artifactId>
<version>1.0.13</version><!--对应jar包版本号-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<distributionManagement>
<repository>
<id>yizhuo-maven</id>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>yizhuo-maven</id>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<profiles>
<profile>
<id>disable-javadoc-doclint</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<javadoc.opts>-Xdoclint:none</javadoc.opts>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
<!--生成源码jar包 (可以把对应的注释一起打包上去) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
[3]: 使用idea工具打包推送
[4]: 在nexus中查看推送结果
[5]: 在其他项目中使用nexus中maven仓库中的jar包
项目setting文件先配置修改后的setting文件
在pom.xml文件的 dependences重配置引用maven
<dependency> <groupId>org.yizhuo</groupId> <artifactId>yz-core</artifactId> <version>1.0.12</version> </dependency>
结果: