'parent.relativePath'指向我的com.mycompany:MyProject而不是org.apache:apache - 为什么?

sim*_*ico 126 maven

这是真的是Solr项目目录在MyProject父目录中(但是2之间没有模块或任何maven关系,只是FS方便)​​.我必须把它放出去吗?

$ mvn -DskipTests clean install
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.apache.lucene:lucene-solr-grandparent:pom:3.1-SNAPSHOT
[WARNING] 'parent.relativePath' points at com.mycompany:MyProject instead of org.apache:apache, please verify your project structure @ line 23, column 11
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
Run Code Online (Sandbox Code Playgroud)

来自pom.xml:

<parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
  </parent>

$ pwd
/Users/simpatico/ws/MyProjectBaseDir/solr
Run Code Online (Sandbox Code Playgroud)

Rag*_*ram 245

添加一个 <relativePath>,<parent>以便从存储库中解析父pom.

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
    <relativePath></relativePath>
  </parent>
Run Code Online (Sandbox Code Playgroud)

这是相关的文档.

此功能仅用于增强该项目的本地结帐的开发.如果要禁用该功能,请将值设置为空字符串,并始终从存储库中解析父POM.
默认值为:../pom.xml.

  • 如果您没有修复警告,则会训练人们忽略警告. (26认同)
  • 信不信由你,警告确实吓到了一些人.我的老板刚刚让我调查为什么我们收到这个警告,这篇文章结束了我的一天. (14认同)
  • 警告不会从天而降.这是有原因的.添加空<relativePath> </ relativePath>而不知道为什么不是解决方案.... (14认同)
  • 恕我直言`&lt;relativePath /&gt;` 看起来更好 (6认同)

mkl*_*int 18

要么忽略警告,要将源移出不相关的父项,要么输入正确的元素值.这个问题是由relativePath的默认值引起的,它是../pom.xml,默认值被注入你的有效pom,触发警告.

  • +1你提到"../pom.xml"只是节省了我几个小时的工作! (2认同)
  • `org.apache:apache` 的路径可能根本不在计算机本地(除了在本地 .m2 存储库中)。在这种情况下,应该指定一个 *empty* relativePath。 (2认同)