11

在 ABC 的 pom 中,我将属性定义为 abc,其中 ABC 是模块。现在我想在 ADF 模块的 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>

我在 ADF 模块的 pom.xml 中使用 ${ABC} 作为依赖项中的版本值。

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

所以它给了我错误:bundle 必须是一个有效的版本,但是是 ${ABC}。

编辑:

或者我可以按照我定义的方式使用 C 模块的版本:

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

2 回答 2

3

这些模块是否共享一个父 pom?似乎如果您希望它们链接,最好让它们通过父级共享属性,特别是如果您想在许多模块之间紧密耦合模块版本。

于 2014-08-26T06:49:31.050 回答
3

在回答这个问题时提供的解释以非常好的方式解释了可以使用什么以及何时使用。

从 Maven 中的 POM 文件中读取属性文件

于 2014-08-28T06:21:46.487 回答