Maven:错误的本地POM和版本问题

时间:2011-09-29 06:15:52

标签: maven-2

我有4个模块(4个POM XML文件)和一个父XML文件

我有这个目录结构,请参考屏幕截图

http://postimage.org/image/1gjk3mdg/

当我运行Parent POM.xml文件(内部运行所有Module的POM xml文件)时,出现此错误

项目com.bayer:tata-mw:1.0(C:\ tata \ middleware \ pom.xml)有1个错误 [错误]不可解析的父POM:找不到工件com.bayer:tata:pom:1.0-SNAPSHOT和'parent.relativePath'指向错误的本地POM @第9行,第12列 - > [帮助2]

要解决父POM错误,我将这样的内容引用到我的子POM.xml文件

 <parent>
      <groupId>com.bayer</groupId>
      <artifactId>tata</artifactId>
      <version>1.0-SNAPSHOT</version>
        <relativePath>c:/tata/pom.xml</relativePath>
   </parent>

请指导我这是否是正确的方法,因为当我这样做时错误仍然存​​在。

谢谢。

3 个答案:

答案 0 :(得分:11)

在父部分中, relativePath xml标记应指向... relative中的路径!

喜欢:

<parent>
   <groupId>com.bayer</groupId>
   <artifactId>tata</artifactId>
   <version>1.0-SNAPSHOT</version>
   <relativePath>../pom.xml</relativePath>
</parent>

答案 1 :(得分:0)

只需添加一个空的<relativePath/>即可解析父pom -

<parent>
    <groupId>com.proj</groupId>
    <artifactId>com.proj.api</artifactId>
    <version>0.1.1</version>
    <relativePath></relativePath>
  </parent>

创建模块化maven项目的另一种方法是遵循以下步骤 -

1-创建Parent Maven项目

  

new - &gt;项目 - &gt; Maven项目 - &gt;检查创建一个简单的项目   复选框 - &gt;提供所有Maven ID

2-创建Maven模块并将模块添加到先前创建的父项目

  

new - &gt;其他..--&gt; Maven模块 - &gt;检查创建简单项目   复选框 - &gt;命名您的模块 - &gt;浏览父项目 - >选择   以前创建的项目

答案 2 :(得分:0)

通过强制更新快照/发布

更新maven
right click on project-->maven-->update project-->check force update of snapshot