公司搭建了自己的私服,首次上传依赖后,其他项目获取依赖总是报错,仔细核对上传的jar包依赖版本和名称,当然,都没有问题。我这边的项目结构是父子类型的,都是Maven项目:
父项目:wmss
子项目:wmss-common、wmss-ejb、wmss-web
反复盯着报错看了一会:
Failure to find com.huny.pro:wmss:pom:1.0-SNAPSHOT in http://nexus.huny.cn:90/content/repositories/snapshots/ was cached in the local repository
我发现一个被我忽略的问题,报错中并非是哪一个jar 包的报错,而是pom 引用报错。恍然大悟, 父项目 wmss 下的 pom.xml 文件也是要上传到私服的,因为子项目中引用了父项目的依赖,就是子项目pom.xml中配置的<parent>标签时引用的 ,例如我这边:
<parent>
<groupId>com.huny.pro</groupId>
<artifactId>wmss</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../wmss/pom.xml</relativePath>
</parent>
知道原因就可以解决了:
直接在eclipse中操作一下上传到私服,选择 pom.xml文件,右键菜单中选择 Run As > Maven build(后面有快捷键显示那个),会打开输入maven 命令的页面:
在下面的页面输入 Maven上传命令 deploy (发布),然后点击“Apply” > "Run",上传就完了。
注意:上传这个操作不用管下面的子项目是否有报错,子项目上传不成功不影响父项目 pom文件上传。