1

目前我有两个独立的项目,但其中一个项目依赖于另一个。第一个项目称为Commons,其布局与此类似。该项目有子项目,所有内容都正确部署到 Nexus 中。

    <properties>
        <parentVersion>2.0.0</parentVersion>
    </properties>

    <groupId>Commons</groupId>
    <artifactId>Commons</artifactId>
    <packaging>pom</packaging>
    <version>${parentVersion}</version>

    ...

第二个项目与上面的项目类似,但在依赖项中它接近于

    <dependency>
       <groupId>Commons</groupId>
       <artifactId>Commons</artifactId>
      <version>${parentVersion}</version>
    </dependency>


当我为他们两个做 Maven 构建时,我正在定义parentVersion,所以像

    mvn deploy -f pom.xml -DparentVersion=2.0.0


但是,在第一个执行此操作时,我收到以下错误:

无法读取 Commons.Commons:jar:2.0.0 的工件描述符:无法在存储库中找到 Commons.Commons:pom:${parentVersion}

那么为什么看起来它正在获取${parentVersion}Commons jar 的变量,但是当它找到 POM 版本并且只是传递变量而不是变量值时却找不到它呢?

4

1 回答 1

0

这是不可能的。项目自己的版本需要被继承或显式定义。您只能将其用于您的依赖项或插件。

于 2012-12-18T22:20:53.773 回答