1

メインプロジェクトがサブモジュールに依存するマルチモジュールmavenプロジェクトがあります。サブモジュールのすべての依存関係は、次のようにバージョンごとに定義されます${pom.version}。Mavenリリースプラグインを使用しています。リリースを準備しようとすると、サブモジュールのバージョンが見つからないというエラーが発生しました。

例:

main pom は version1.0にあり、リリースしようとしています。Maven はすべてのサブモジュールを version1.1にビルドしてから、親をビルドしようとするとクラッシュします。見つからないからsub-module-1.1です。

Mavenにビルドするように指示する方法がわかりません。ビルドするサブモジュールごとにローカルレポにすぐにインストールします。私はmaven2を使用しています。

私のポン:

<modelVersion>4.0.0</modelVersion>

<groupId>com.voncuver</groupId>
<artifactId>voncuver</artifactId>
<packaging>pom</packaging>
<version>1.1-SNAPSHOT</version>
<name>multimodule</name>

<modules>
    <module>mod1</module>
    <module>mod2</module>
</modules>

(...)

<dependencyManagement>
    <dependencies>
        <dependency>
            <artifactId>mod1</artifactId>
            <groupId>com.voncuver</groupId>
            <version>${pom.version}</version>
        </dependency>
        <dependency>
            <artifactId>mod2</artifactId>
            <groupId>com.voncuver</groupId>
            <version>${pom.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
(...)
4

1 に答える 1

1

おそらくプロジェクト構造をもう少し投稿する必要がありますが、通常、マルチモジュール プロジェクトは次のようになります。

project
   mod1
   mod2
   mod3
   pom.xml

メインの pom.xml には「pom」パッケージ タイプがあり、その中に他のすべてを構築するためのセクションがあります。

<packaging>pom</packaging>
<modules>
  <module>mod1</module>
  <module>mod2</module>
  <module>mod3</module>
</modules>

次に、物事が適切にビルドされることを確認する最も確実な方法は、次を実行することです。

mvn クリーン インストール

「インストール」がないと、特に使用している Maven のバージョン (およびその他のいくつかの要因) によっては、Maven リアクターで何かが見つからない可能性が高くなります。

于 2012-08-13T13:09:59.977 に答える