2012-11-30 59 views
1

我是新来的maven。我有一个项目,它有一个pom。在pom里面有一个依赖如下:maven依赖版本?

<dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>some-project</artifactId> 
     <version>${originalVersion}</version> 
     <scope>compile</scope> 
    </dependency> 

我的问题是$ {originalVersion}的值是从哪里来的?

谢谢!

+0

它必须在您的其他配置文件中。 – mtk

+1

该值可能是在属性标记中定义的。检查你的pom是否有父标签。如果是这样,这些属性可能会在那个pom中定义,或者在它的父类pom等中定义。 – slukse

+0

如果你有一个父类,通常的事情是使用$ {project.version},但我不确定,导致我看不到完整的pom。 – khmarbaise

回答

1

originalVersion是不是一个标准的Maven属性,因此它必须出现在其他地方,如在一个父POM,像这样:

<properties> 
    <originalVersion>1.2</originalVersion> 
</properties> 

Maven Properties Guide

0

它来自您的pom.xml中的一个属性。 类似的东西:

<properties> 
    <originalVersion>1.0</originalVersion> 
</properties> 
0

寻找一个<properties>在pom.xml文件中,必须有一个条目,如<originalVersion>...</originalVersion>

0

检查maven tutorial page上的properties子部分。它说,下面是引用的可能方式一vairable

  1. env.X:“ENV”附加了一个变量将返回shell的环境变量。例如,$ {env.PATH}包含$ path 环境变量(Windows中的%PATH%)。
  2. project.x:POM中的点(。)标记路径将包含相应元素的值。例如: 1.0可通过 $ {project.version}访问。
  3. settings.x:settings.xml中的点(。)标记路径将包含相应元素的值。例如: false可通过 $ {settings.offline}访问。
  4. Java系统属性:通过java.lang.System.getProperties()可访问的所有属性都可用作POM属性,例如 作为$ {java.home}。
  5. x:在元素或外部文件中设置,该值可以用作$ {someVar}。