官网文档
1. 下载应该很慢, 最好是能翻墙
nexus-3.69.0-02-java8-unix.tar.gz
2. 上传到/usr/local/src, 解压及重命名
tar -zxvf nexus-3.69.0-02-java8-unix.tar.gz
rm -rf nexus-3.69.0-02-java8-unix.tar.gz
mv nexus-3.69.0-02 nexus
ls
3. 修改配置
cd /usr/local/src/nexus/etc
vi nexus-default.properties
修改端口为8085
application-port=8085
开放8085端口
firewall-cmd --zone=public --add-port=8085/tcp --permanent
firewall-cmd --reload
4 启动
4.1 创建nexus用户(root不能运行nexus)
密码需大于8个字符, 规则: 数字+英文大小写+特殊字符
useradd -m nexus
passwd nexus
chmod -R 755 /usr/local/src/nexus
chown -R nexus:nexus /usr/local/src/nexus
chmod -R 755 /usr/local/src/sonatype-work
chown -R nexus:nexus /usr/local/src/sonatype-work
vi /etc/security/limits.conf
在第 60 行添加如下内容
nexus - nofile 65536
如果觉得密码不好, 可以删除用户后重新添加
userdel -r nexus
4.2 启动nexus
su nexus
cd /usr/local/src/nexus/bin
nohup nexus run &
5. 登录
5.1 初始密码获取
cat /usr/local/src/sonatype-work/nexus3/admin.password
5.2 安装4步
UAT 一般是允许的, PRD禁止
第4步直接Finish。可以看到nexus支持的类型还是挺多的, apt、conda、docker、go、maven、npm、nuget、papi、yum等
5.3 maven仓库类型: hosted、proxy、group
hosted:管理本公司的jar包,系统还默认分了snapshots和release版本
proxy:代理仓库,默认是maven的, 可以修改成阿里云的
group:一般是hosted和proxy的组合
6. 重新配置maven的setting
6.1 mave的配置
cd /usr/local/src/maven/conf
vi settings.xml
settings.xml示例(所有用不到的标签以及注释全部删除), 注意mirror标签里的name要和server中的id保持一致
<?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>/usr/local/src/javaDevelop</localRepository>
<servers>
<server>
<id>hahashou-nexus</id>
<username>admin</username>
<password>登录密码</password>
</server>
</servers>
<mirrors>
<mirror>
<id>aliyun</id>
<name>Nexus aliyun</name>
<mirrorOf>central</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>hahashou-nexus</id>
<name>Nexus hahashou</name>
<mirrorOf>*</mirrorOf>
<url>http://127.0.0.1:8085/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</repository>
<repository>
<id>hahashou</id>
<url>http://127.0.0.1:8085/repository/maven-public/</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>jdk-1.8</activeProfile>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
6.2 项目中pom.xml的配置
在最下面增加一个大标签, 如下内容, 把IP换一下, 注意: 正常来说, maven-releases是不允许再次deploy的, 但是一般像公共的经常改的, 不能改一点东西就设置一个新的版本号, 所以最好将maven-releases的DeployMent policy设置成允许再次deploy, 当公共的依赖稳定之后, 再次迭代时换新的版本号即可
<distributionManagement>
<repository>
<id>hahashou-nexus</id>
<name>release</name>
<url>http://IP:8085/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>hahashou-nexus</id>
<name>snapshot</name>
<url>http://IP:8085/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>