1.搭建nexus服务器去官网下载 或 github: nexus-2.12.0-01-bundle
解压->运行
访问:http://localhost:8081/nexus/
2.在pom里面添加部署管理节点
<!--需要部署到maven远程仓库就必须要配置部署管理-->
<distributionManagement>
<repository>
<id>releases</id>
<name>Release</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<!--id和setting中server镜像id对应即可-->
<id>snapshots</id>
<name>Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
在setting.xml配置server认证账号: 需要admin账号,默认密码就是admin123
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
3.部署到远程服务器
使用命令部署:
mvn install:install-file -DgroupId=com.ygpx.www -DartifactId=base64-utils -Dversion=1.0-SNAPSHOT -Dfile=base64-utils-1.0-SNAPSHOT.jar -Dpacckaging=jar -DrepositoryId=snapshots -Durl=http://localhost:8081/nexus/content/repositories/snapshots/
mvn deploy:deploy-file -DgroupId=com.ygpx.www -DartifactId=base64-utils -Dversion=1.0-SNAPSHOT -Dfile=base64-utils-1.0-SNAPSHOT.jar -Dpacckaging=jar -DrepositoryId=snapshots -Durl=http://localhost:8081/nexus/content/repositories/snapshots/
此时部署到服务器的pom只有pom的坐标,没有相关依赖的节点
虽然jar包下能找到以来的pom.xml,但是只能提供本jar下载依赖
使用工具部署(此处截图是idea的,eclipse也有类似工具)
此时部署上去的pom.xml就包含所有的依赖,就可以传递依赖给应用的pom工程了(当然依赖的生命周期,optional等因素也可能导致不能传递依赖)
甚至可以通过手动上传方式:
至于为什么使用命令传至远程仓库的pom不能传递依赖,目前还不清楚,估计是命令写的有些问题,希望知道的大神不吝赐教,感谢!
通过手动上传得到启发,是因为我只使用-Dfile指定了jar文件,没有制定pom文件,于是机制的加上-Dpom=../pom.xml,(因为我在target目录执行命令,所以pom.xml在上层目录) ,运行命令竟然成功了,非常开心,但是一看仓库pom.xml依然没有依赖项
没办法,百度看下是什么参数(我坚信我的方向是对的,只是命令错了,没有-Dpom这个参数),果然找到是-DpomFile=../pom.xml命令
正确的命令:
mvn deploy:deploy-file -DgroupId=com.ygpx.www -DartifactId=base64-utils -Dversion=1.0-SNAPSHOT -Dfile=base64-utils-1.0-SNAPSHOT.jar -Dpacckaging=jar -DrepositoryId=snapshots -Durl=http://localhost:8081/nexus/content/repositories/snapshots/ -DpomFile=../pom.xml
至此所有的疑惑都通过自己实践得到答案, 2019年11月12日01:37:05 ,愿不负韶光 努力向前,祝自己晚安(哇!还没洗澡o(╥﹏╥)o)