第一步:使用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>
这样新建项目就会自动导入私服仓库中的所有依赖,并且可以使用作为私服仓库中的公共工具类或者其他任何类,