一般maven是不用配置私服的,默认是直接在maven中心仓库下载依赖的,但是如果想自己发布jar包又不能公开发布到公网,就可以自己搭建maven私服方便多个项目之间自定义依赖可以共享,而且maven配置私服可以直接设置国内比较快的阿里云站点
目录
一、搭建nexus私服
二、nexus配置maven仓库
一张图就可以配置好nexus中的maven仓库设置,有个代理链接是指向阿里云的,这样拉取依赖可以快一点,第一个红色框是我们在maven setting文件中要配置的地址,也就是maven私服仓库远程地址
三、maven setting中配置nexus仓库
找到自己安装的maven目录,打开setting文件,添加以下配置
此文件是个xml文件,找到servers
标签添加以下配置
<server> <id>my-nexus-snapshots</id> <username>你的nexus登录账号</username> <password>你的nexus登录密码</password> </server> <server> <id>my-nexus-release</id> <username>你的nexus登录账号</username> <password>你的nexus登录密码</password> </server>
在mirrors
中配置我们nexus的私服地址
<mirror> <!--This sends everything else to /public --> <id>my-nexus</id> <mirrorOf>*</mirrorOf> <name>my maven</name> <url>http://你的nexusIP和端口/repository/maven-public/</url> </mirror>
在profiles
中配置私服仓库,此配置我们本地可以deploy jar包到私服库
<profile> <id>my-nexus</id> <!--Enable snapshots for the built in central repo to direct --> <!--all requests to nexus via the mirror --> <repositories> <repository> <id>my-nexus</id> <name>local private nexus</name> <url>http://你的nexusIP和端口/repository/maven-public/</url> <releases><enabled>true</enabled><updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy></releases> <snapshots><enabled>false</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>my-nexus</id> <name>local private nexus</name> <url>http://你的nexusIP和端口/repository/maven-public/</url> <releases><enabled>true</enabled><updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy></releases> <snapshots><enabled>false</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile>
最后一个配置,我们在activeProfiles
激活profile配置
<activeProfile>my-nexus</activeProfile>
四、使用mvn命令安装和发布jar包到私服
做完以上配置后,就可以使用mvn命令进行测试了,后面也会说下怎么在maven项目中进行配置和发布
向本地maven仓库打入jar包,使用钉钉jar包作为测试
在jar包所在目录执行以下命令,如果出现mvn命令没找到记得配置maven在操作系统中的环境变量
mvn install:install-file -Dfile=taobao-sdk-java-auto-dingding.jar -DgroupId=com.taobao -DartifactId=dingding-sdk -Dversion=1.0 -Dpackaging=jar
执行完成后在repository目录中就可以看到我们打好的依赖,现在这个依赖还是本地的,如果要上传到私服库,执行以下命令
mvn deploy:deploy-file -DgroupId=com.taobao -DartifactId=dingding-sdk -Dversion=1.0 -Dpackaging=jar -Dfile=taobao-sdk-java-auto-dingding.jar -Durl=http://你的nexus私服ip和端口/repository/maven-releases/ -DrepositoryId=my-nexus-release
成功执行以上命令后,在我们的nexus私服就可以看到发布上来的jar包了
查看路径在maven-releases中
五、maven项目pom.xml中配置私服库
私服库搭建好后最终是要用到项目中的,接下来说明maven项目中如何配置
如果只是更新下载依赖,只需要在project
标签中配置
<project> ...... <repositories> <repository> <id>my-public</id> <name>my nexus</name> <url>http://你的私服IP和端口/repository/maven-public/</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </project>
如果需要发布依赖,在project
做以下配置,当然二者可以共从
<project> ...... <distributionManagement> <repository> <id>my-nexus-release</id> <name>Nexus Release Repository</name> <url>http://你的私服IP和端口/repository/maven-releases/</url> </repository> <snapshotRepository> <id>my-nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://你的私服IP和端口/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> </project>
总结
完成以上配置,就可以享受私服带来的丝滑享受了,对于内部项目众多来说搭建maven私服是很重要的操作,对于发布保密性高的共享性依赖就很方便,感谢阅读,下次见。