web-dev-qa-db-ja.com

Mavenマルチモジュールプロジェクトの別のモジュールpomで定義されたプロパティにアクセスする方法

A.B.Cのpomで、プロパティをabcとして定義しました。ここで、A BCはモジュールです。今、私はA.D.Fモジュールのpomでそのプロパティにアクセスしたいと思います。

<properties>
<A.B.C>${buildNumber}</A.B.C>
</properties>

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                <id>buildnumber</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
            <timestampFormat>{0,date,dd-MM-yyyy HH:mm:ss}</timestampFormat>
            <doCheck>false</doCheck>
            <doUpdate>false</doUpdate>
            <providerImplementations>
                <svn>javasvn</svn>
            </providerImplementations>
            <revisiononscmfailure>

                    <!-- 71 Generate sequence build number based on: 72 build number and 
                        timestamp 73 -->

                    <format>Build: #{0} ({1,date})</format>

                    <items>

                        <item>buildNumber\d*</item>

                        <item>timestamp</item>

                    </items>

                </revisiononscmfailure>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
                <artifactId>maven-scm-provider-svnjava</artifactId>
                <version>2.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.tmatesoft.svnkit</groupId>
                <artifactId>svnkit</artifactId>
                <version>1.8.5</version>
            </dependency>
        </dependencies>

        </plugin>

A.D.Fモジュールのpomの依存関係のバージョンの値として$ {A.B.C}を使用しています。

<dependency>
        <groupId></groupId>
        <artifactId></artifactId>
        <version>${A.B.C}</version>
        <type>bundle</type>
    </dependency>

したがって、エラーが発生します。バンドルは有効なバージョンである必要がありますが、$ {A.B.C}です。

編集:

または、私が定義したように、何らかの方法でCモジュールのバージョンを使用できますか?

<version>${A.B.C}</version> 
11
HimanshuR

この質問への回答で提供された説明は、何をいつ使用できるかを非常によく説明しています。

MavenのPOMファイルからプロパティファイルを読み取る

3
HimanshuR

それらのモジュールは親pomを共有しますか?それらをリンクさせたい場合、特に多くのモジュール間でモジュールバージョンを緊密に結合したい場合は、親を介してプロパティを共有することをお勧めします。

3
coffeeaddict