第一步:使用ubunto下载安装nexus 并打开登录进入到nexus管理页面,默认账号为 admin 密码在 admin.password 中,首次登录会让你重新修改密码
第二步 配置自己本地Maven的settings.xml文件,
<services>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server> <server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</services>
第三步 以一个基础的公共ssm项目为模板,创建并上传私服仓库的依赖,需要在本地项目的pom.xml中加上以下配置
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name> <-- 这里的url地址换成登录进入之后换成自己私服仓库的ip地址 -->
<url>http://192.168.2.135/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<-- 这里的url地址换成登录进入之后换成自己私服仓库的ip地址 -->
<url>http://192.168.2.135/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<-- 这里的url的ip换成自己私服仓库的ip -->
<url>http://127.0.0.1:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<-- 这里的url的ip地址换成自己私服仓库的ip -->
<url>http://127.0.0.1:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
注意!!!!:我们的公共部分的依赖和工具类需要打成jar包上传到私服仓库,才可以被其他项目引用,不能打成war包
第四步 项目pom配置好之后,执行mvn deploy 或者点击 maven -> lifecycle中的deploy 这样自己的私服仓库就上传创建成功,使用的是快照版 (正式版为releases)
或者执行 mvn deploy命令
私服建立好之后,返回到自己的nexus 按照以下步骤就可以看到自己的私服仓库了
我们的私服仓库就在 maven-snapshots 中,生成的jar包就可以被其他项目引用,如下图:
这里的上面的大版本是不会变的,这样的话下次有更新修改的时候不用再去改大版本的命名, 可以自动拉取最近的依赖坐标
结束:这样一个完整的私服仓库 创建成功,下次更新,直接在公共项目中执行 mvn deploy命令就可以了
nexus私服仓库的使用:
新建一个ssm框架项目,在pom.xml文件中 配置以下信息:
注意!!!:由于使用的是我们的私服仓库,我们需要在idea中设置一下maven,设置为自动更新最新的snapshot:
<repositories>
<repository>
<!--这里的id要和maven中的settings.xml的id一致,这样才能识别依赖做坐标-->
<id>nexus-snapshots</id>
<name>Nexus Repository</name>
<url>http://10.31.160.35/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
导入私服仓库的依赖坐标:
<dependency>
<groupId>com.qfedu</groupId>
<artifactId>my-shop</artifactId>
<-- 这里的坐标直接导入上面基础ssm模板的坐标-->
<version>1.0-SNAPSHOT</version>
</dependency>
这样新建项目就会自动导入私服仓库中的所有依赖,并且可以使用作为私服仓库中的公共工具类或者其他任何类,