как получить доступ к свойствам, определенным в другом модуле pom в многомодульном проекте maven

В pom A. B. C я определил свойство как abc, где A B C-модули. Теперь я хочу получить доступ к этому свойству в pom модуля A. D. F.

<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>buildNumberd*</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. B. C} как значение версии в зависимости в POM модуля A. D. F.

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

Так что это дает мне ошибку: bundle должен быть допустимой версией, но равен ${A. B. C}.

EDIT:

или я могу использовать версию модуля C в некотором роде, как я определил:

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

2 ответов


эти модули имеют общий родительский pom? Похоже, если вы хотите, чтобы они были связаны, было бы неплохо иметь их общие свойства через родителя, особенно если вы хотите плотно связать версии модулей между многими модулями.


объяснение, приведенное в ответе на этот вопрос, очень хорошо объясняет, что можно использовать и когда.

чтение файла свойств из файла POM в Maven