您好我正在尝试将maven中的父版本设置为属性上定义的版本,但它不起作用
这是我写的
<parent>
<groupId>com.me.android</groupId>
<artifactId>me-android</artifactId>
<version>${tools.version}</version>
<relativePath>../pom.xml</relativePath>
</parent>
<properties>
<tools.version>1.0.0-SNAPSHOT</tools.version>
<properties>
它不起作用,我必须手动输入版本值,而不是使用属性值。
错误
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project com.me.android:tools-android-hello:${tools.version} (/Users/me/Work/tools-android/ToolsServer/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Could not transfer artifact com.me.android:tools-android:pom:${tools.version} from/to releases (http://artifactory/artifactory/releases): Illegal character in path at index 89: http://artifactory/artifactory/releases/com/me/android/tools-android/${tools.version}/tools-android-${tools.version}.pom and 'parent.relativePath' points at wrong local POM @ line 11, column 13 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
答案 0 :(得分:5)
这是一个已知问题。不幸的是,您无法参数化父节。
Maven不允许在父元素中的任何元素中指定变量。安装或部署项目时,Maven会将项目的pom.xml复制到本地或远程存储库中。没有对文件进行任何更改。
有关详细说明和可能的解决方法,请参阅此JIRA问题:
http://docs.codehaus.org/display/MAVEN/Automatic+Parent+Versioning
尽管该错误是在2008年录制的,但不幸的是它仍然是当前的问题。看看列出的相关问题,尤其是:
http://jira.codehaus.org/browse/MNG-624
最近更新了。似乎很快就会出现补救措施,但您可以尝试解决方法。