wood burning stoves 2.0*
The moose likes Ant, Maven and Other Build Tools and the fly likes Maven 2 to Maven 3 up-gradation: Issue on version attribute Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Engineering » Ant, Maven and Other Build Tools
Bookmark "Maven 2 to Maven 3 up-gradation: Issue on version attribute " Watch "Maven 2 to Maven 3 up-gradation: Issue on version attribute " New topic
Author

Maven 2 to Maven 3 up-gradation: Issue on version attribute

arfeen khan
Greenhorn

Joined: May 13, 2011
Posts: 25
Hi,

This problem faced while migrated the code from maven 2 to maven 3.

I have a master POM and project pom structure.
In project pom (means a project having their own pom which inherits some properties form master pom)
version uses expression which is defined in master pom.
Earlier we were using Maven 2, and there was not any issue, until we migrated to maven 3.

Warning coming is-

[WARNING] Some problems were encountered while building the effective model for com.mycompany.myservice:myservice:jar:MyBranch-1.0
[WARNING] 'version' contains an expression but should be a constant. @ com.mycompany.myservice:myservice:${myserviceVersion}, pom.xml line 11, column 14
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.


Following is the structure in project pom--

<name>MyProject</name>
<groupId>com.mycompany.myservice</groupId>
<artifactId>myservice</artifactId>
<version>${myserviceVersion}</version>
<packaging>jar</packaging>


"myserviceVersion" is defined in master pom as follows--

<myserviceVersion>${BranchUsed}-${BranchVersion}</myserviceVersion>

<BranchUsed>MyBranch</BranchUsed>
<BranchVersion>1.0</BranchVersion>


Got this link where it shows that similar issue is in OPEN state--
http://jira.codehaus.org/browse/MNG-4715

Need a thought if we have any workaround for this?

Thanks,
Arfeen.
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5823
    
    7

You will need to remove the property reference from the <version> tag; as long as you have the version reference there Maven will complain. WE ran into the same thing when we went from Maven 2 to Maven 3 - Maven 3 wants hard-coded version numbers. We ended up writing our own plugin to set the version during the validate phase.

The Versions plugin might be able to help: http://mojo.codehaus.org/versions-maven-plugin/

JBoss In Action
arfeen khan
Greenhorn

Joined: May 13, 2011
Posts: 25
Thank you Peter for valuable response.
Let me see what can i do with custom plugin.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Maven 2 to Maven 3 up-gradation: Issue on version attribute