我正在尝试使用Maven2但我的子项目无法找到父项目.
目录结构如下:
--parent
  --pom.xml
--child
  --pom.xml
子pom.xml文件如下所示:
<parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>myapp</artifactId>
    <version>${app.version}</version>
    <relativePath>.../parent/pom.xml</relativePath>
</parent>
但是,当我使用maven时,它似乎甚至没有查看相对路径,它似乎尝试从maven存储库下载它.它显然不在回购中.我想让它看一下相对路径.我究竟做错了什么?这是错误消息:
[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/com/mycompany/app/myapp/${app.version}/myapp-
${app.version}.pom
[INFO] Unable to find resource 'com.mycompany.app:myapp:pom:${app.version}' in reposit
ory central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: null:web:jar:null
Reason: Cannot find parent: com.mycompany.app:myapp for project: null:web:jar:null for
 project null:web:jar:null
Bre*_*ter 16
您不能将属性用于父版本 - 它必须匹配.目前,这是构建在以后可以重现的必要条件.很多人都在跟踪问题https://issues.apache.org/jira/browse/MNG-624
Pas*_*ent 11
据我所知,变量扩展在父元素中不起作用(参见MNG-624和有关此背景的注释),您需要明确设置版本:
<parent>
  <groupId>com.mycompany.app</groupId>
  <artifactId>myapp</artifactId>
  <version>1-SNAPSHOT</version><!-- or whatever version you use -->
  <relativePath>../parent/pom.xml</relativePath>
</parent>
顺便说一句,如果你想为你的所有模块使用相同的版本,你应该简单地在你的子项目中继承它,即不要覆盖它(没有真正需要${app.version}IMO),而不是相反.
| 归档时间: | 
 | 
| 查看次数: | 50984 次 | 
| 最近记录: |