系统:LINUX
JDK:已安装
Maven:已安装
Nexus
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。
一、搭建
1.下载nexus
https://www.sonatype.com/download-oss-sonatype
2.上传到/root
3.解压
tar -zxvf nexus-3.12.1-01-unix.tar.gz -C /usr/local/
4.修改配置文件
♦端口
vim /usr/local/nexus-3.12.1-01/etc/nexus-default.properties
♦防火墙
vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
5.登陆浏览器打开
http://192.168.56.102:8081/ 账号admin 密码 admin123 System Requirement: max file descriptors [4096] likely too low, increase to at least [65536].
6.修改ulimit
vim /etc/security/limits.conf 新增 * soft nofile 65535 * hard nofile 65535
7.设置开机自启动
二、使用
1.仓库类型
proxy:代理仓库,用于代理远程仓库
group:仓库组,通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包
hosted:宿主仓库,内部项目、付费jar
releases 发布内部release版本的仓库
snapshots 发布内部snapshots版本的仓库
third 自建第三方jar
2.配置代理
选择阿里云http://maven.aliyun.com/nexus/content/groups/public/
3.本地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">
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<!-- id需要跟pom.xml的一样-->
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>repo1</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name</name>
<url>http://39.98.204.96:8081/repository/bjaxyh/</url>
</mirror>
<mirror>
<id>osc</id>
<mirrorOf>central</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</mirror>
<mirror>
<id>osc_thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</mirror>
</mirrors>
<profiles>
<profile>
<!-- 私有库地址-->
<repositories>
<repository>
<id>nexus</id> <!-- 私有仓库唯一标识-->
<name>local private nexus</name><!--私有库名称 -->
<!--私有库地址-->
<url>http://39.98.204.96:8081/repository/bjaxyh/</url>
<releases>
<enabled>true</enabled><!--是否下载releases版本构件-->
</releases>
<snapshots>
<enabled>false</enabled><!--是否下载snapshots版本构件-->
</snapshots>
</repository>
</repositories>
<!--插件库地址-->
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://39.98.204.96:8081/repository/bjaxyh/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>osc</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>osc</id>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>osc</id>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
4.修改pom
<!--pom.xml 远程仓库的配置 id要跟本地maven的setting.xml相同 -->
<distributionManagement>
<repository>
<id>releases</id>
<name>Ruizhi Release Repository</name>
<url>http://192.168.56.101:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Ruizhi Snapshot Repository</name>
<url>http://192.168.56.101:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
5.测试是否nexus搭建成功
pom添加本地没有的依赖,看nexus会不会代理
mvn deploy 看是否成功推送至nexus
三、nexus图片观赏
四、pom.xml
<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>axyh_springboot</groupId>
<artifactId>axyh_springboot</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>com.anxinyiheng</groupId>
<artifactId>axyh_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
</dependencies>
<distributionManagement>
<repository>
<!--此id要与setting.xml里面server的id对应-->
<id>releases</id>
<name>releases Repository</name>
<url>http://39.98.204.96:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://39.98.204.96:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>