Maven 继承时 发生的奇怪版本相同时编译不通过
一共写了三个项目:
------Parent
------Hello
------HelloFriend
做法是 用Hello,HelloFriend的pom.xml都继承Parent的pom.xml
Parent--pom.xml如下:
<project。。。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version> // **********************注意这里
</dependency>
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>HelloFriend</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
。。。
</project>
在Hello--pom.xml
中继承
<project 。。。
<parent>
<groupId>cn.itcast.maven</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../Parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
没有问题
但是在HelloFriend---pom.xml
中报错了
<project 。。。
<parent>
<groupId>cn.itcast.maven</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../Parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
</dependency>
</dependencies>
</project>
报错内容是:
Description Resource Path Location Type
ArtifactDescriptorException: Failed to read artifact descriptor for cn.itcast.maven:Hello
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
写得不错,这里再补充下,相互学习,共同进步。
Maven详解之继承
引用来自“vincent1988”的答案
你这个依赖确实有问题,简单说,依赖关系错乱,你的parent依赖子pom 而子pom依赖parent。
你这个依赖确实有问题,简单说,依赖关系错乱,你的parent依赖子pom 而子pom依赖parent。
非常感谢,用你的方法我也解决了,初学mavenO(∩_∩)O~
请问怎么解决 ArtifactDescriptorException: Failed to read artifact descriptor for com.sun.xml.bind
问题已经解决, 三个配置文件都没有问题!
解决过程:重新在IDE中建立MAVEN工程,并使用统一的jdk版本, 问题不再出现(java文件pom文件没有一丝更改);
感觉是jdk版本不一致捣的鬼