系统: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>