1

我是新手。我有一个项目,它有一个 pom。在 pom 内部有一个依赖项,如下所示:

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

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

谢谢!

4

5 回答 5

4

它要么在 pom 中的其他地方定义,在parent-pom中(可以有几个,因为父母也可以有父母),或者通过配置文件(可能在其他地方定义,比如 your settings.xml)。它也可以作为命令行参数传递给 maven,但您可能已经注意到这一点。

于 2012-11-30T13:59:08.410 回答
1

originalVersion不是标准的 Maven 属性,因此它必须出现在其他地方,例如父 pom 中,如下所示:

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

请参阅Maven 属性指南

于 2012-11-30T13:59:55.387 回答
0

它来自您的 pom.xml 中的一个属性。像这样的东西:

<properties>
   <originalVersion>1.0</originalVersion>
</properties>
于 2012-11-30T13:59:33.200 回答
0

在 pom.xml 文件中查找一个<properties>部分,必须有一个类似<originalVersion>...</originalVersion>.

于 2012-11-30T14:03:03.160 回答
0

检查Maven 教程页面properties上的子部分。它说,以下是引用变量的可能方法

  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 System Properties: All properties accessible via java.lang.System.getProperties() are available as POM properties, such as ${java.home}.
  5. x: Set within a element or an external files, the value may be used as ${someVar}.
于 2012-12-02T09:44:51.730 回答