1

現在、私は 2 つの別々のプロジェクトを持っていますが、プロジェクトの 1 つは他のプロジェクトに依存しています。最初のプロジェクトはCommonsと呼ばれ、これと同様にレイアウトされています。このプロジェクトには子プロジェクトがあり、すべてが Nexus に正しくデプロイされます。

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

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

    ...

2 番目のプロジェクトは上記のプロジェクトに似ていますが、依存関係では似ています。

    <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} が見つかりません

では、Commons jarの変数を取得しているように見えますが${parentVersion}、POM バージョンを見つけて、変数の値ではなく変数を渡すだけで、それが見つからないのはなぜですか?

4

1 に答える 1

0

これは不可能です。プロジェクト独自のバージョンを継承するか、明示的に定義する必要があります。これは、依存関係またはプラグインにのみ使用できます。

于 2012-12-18T22:20:53.773 に答える