maven依赖版?

时间:2012-11-30 13:56:17

标签: java maven pom.xml

我是maven的新手。我有一个项目,它有一个pom。在pom里面有一个依赖关系如下:

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

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

谢谢!

5 个答案:

答案 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>

请参阅Maven Properties Guide

答案 2 :(得分:0)

它来自pom.xml中的属性。 这样的事情:

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

答案 3 :(得分:0)

在pom.xml文件中查找<properties>部分,必须有<originalVersion>...</originalVersion>之类的条目。

答案 4 :(得分:0)

检查maven tutorial page上的properties子部分。它说,以下是引用可修复的可能方法

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