我是maven的新手。我有一个项目,它有一个pom。在pom里面有一个依赖关系如下:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>some-project</artifactId>
<version>${originalVersion}</version>
<scope>compile</scope>
</dependency>
我的问题是$ {originalVersion}值来自哪里?
谢谢!
答案 0 :(得分:4)
要么定义somewhere else in the pom,要么parent-pom(可能有几个,因为父母也可以有父母),或者通过profile(可能在某处定义)否则,就像你的settings.xml
)。它也可以作为a command-line parameter传递给maven,但你可能已经注意到了。
答案 1 :(得分:1)
originalVersion
不是标准的Maven属性,所以它必须出现在其他地方,例如在父pom中,如下所示:
<properties>
<originalVersion>1.2</originalVersion>
</properties>
答案 2 :(得分:0)
它来自pom.xml中的属性。 这样的事情:
<properties>
<originalVersion>1.0</originalVersion>
</properties>
答案 3 :(得分:0)
在pom.xml文件中查找<properties>
部分,必须有<originalVersion>...</originalVersion>
之类的条目。
答案 4 :(得分:0)
检查maven tutorial page上的properties
子部分。它说,以下是引用可修复的可能方法
- env.X:使用“env”前缀变量。将返回shell的环境变量。例如,$ {env.PATH}包含$ path 环境变量(Windows中的%PATH%)。
- project.x:POM中的点(。)标记路径将包含相应元素的值。例如: 1.0可通过 $ {project.version}。
- settings.x:settings.xml中的点(。)标记路径将包含相应元素的值。例如: false可以通过 $ {settings.offline}。
- Java系统属性:可通过java.lang.System.getProperties()访问的所有属性都可用作POM属性,例如 如$ {java.home}。
- x:在元素或外部文件中设置,该值可用作$ {someVar}。
醇>