11

In pom of A.B.C i have defined a property as abc where A B C are modules. Now i want to access that property in pom of A.D.F module.

<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>

I am using ${A.B.C} as value of version in a dependency in A.D.F module's pom.

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

So it is giving me error: bundle must be a valid version but is ${A.B.C}.

EDIT:

or can i use version of C module in someway as i have defined:

<version>${A.B.C}</version> 
Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
HimanshuR
  • 1,390
  • 5
  • 16
  • 35

2 Answers2

3

Do those modules share a parent pom? Seems like if you want them linked, it would be a good idea to have them share properties via parent, especially if you want to tightly couple module versions between many modules.

coffeeaddict
  • 858
  • 5
  • 3
  • A is parent of all modules. But how will i define property ${buildNumber} in parent POM as buildnumber is provided by buildnumber-maven-plugin – HimanshuR Aug 26 '14 at 06:52
  • So if I understand correctly, the buildnumber plugin defines the version at build time. Therefore, the child pom cannot properly inherit the version number? If this is the case, what if you were to write the buildnumber out to a properties file, and have the child pom use the properties file plugin to read the buildnumber from the file generated by building child module C? I am under the assumption you will build C before building F. It sounds kind of hacky, I know :) – coffeeaddict Aug 26 '14 at 07:19
  • i liked ur solution but dont know how to do that – HimanshuR Aug 26 '14 at 07:40
  • How to access same properties file across multi module project which has nested modules – HimanshuR Aug 26 '14 at 10:20
  • Have you tried reading in the file from the parent and just inheriting the property in all children? (use parent tag in child poms) Apologies if I can't provide more detail. I'm just kind of putting together different solutions I've done in the past, but never all done at once. – coffeeaddict Aug 26 '14 at 17:38
  • While I agree with this poster, it is not always possible. Sometimes the constraints of the job make this impossible. – Shadow Man Apr 20 '18 at 22:59
3

Explanation provided in answer of this question explains it in a very good manner that what can be used and when.

Reading Properties file from POM file in Maven

Community
  • 1
  • 1
HimanshuR
  • 1,390
  • 5
  • 16
  • 35
  • 1
    I marked this up because the link was very useful. However, I hesitated because you failed to add a summary of what the link says about the question here. – Shadow Man Apr 20 '18 at 23:07