Hi! I'm working on a few different maven projects with several modules in each. Most of the modules have dependencies to other modules within the same project and also to other projects. Since the development in most of these projects go in parallell, most of the dependencies are towards snapshot versions.
Now, my problem is that when I want to make a release, I have to go through 30+ poms and replace snapshot versions with the new versions, check in the new poms, tag, and then I have to replace the versions to new snapshot versions... A lot of work, and it's easy to make a mistake. So, I'm trying to put the version numbers in properties instead, so I only have to update the properties of the parent pom in each project. Here's a few sample poms of two projects, where "myotherproject" depends on "myproject": <!-- parent pom for myproject --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>. <groupId>my.project</groupId> <version>${my.project.version}</version> <artifactId>myparentpom</artifactId> <packaging>pom</packaging> <modules> <module>myjar</module> </modules> <properties> <my.project.version>1.2-SNAPSHOT</my.project.version> </properties> </project> <!-- jar module pom for myproject --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>. <groupId>my.project</groupId> <version>${my.project.version}</version> <artifactId>myjar</artifactId> <packaging>jar</packaging> <parent> <groupId>my.project</groupId> <artifactId>myparentpom</artifactId> <version>${my.project.version}</version> </parent>> </project>> <!-- parent pom for myotherproject --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>. <groupId>my.other.project</groupId> <version>${my.other.project.version}</version>. <artifactId>myotherparentpom</artifactId> <packaging>pom</packaging> <modules> <module>myotherjar</module> </modules> <properties> <my.project.version>1.2-SNAPSHOT</my.project.version> <my.other.project.version>1.1-SNAPSHOT</my.other.project.version> </properties> </project> <!-- jar module pom for myotherproject --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>. <groupId>my.other.project</groupId> <version>${my.other.project.version}</version>. <artifactId>myotherjar</artifactId>} <packaging>jar</packaging> <parent> <groupId>my.other.project</groupId> <artifactId>myotherparentpom</artifactId> <version>${my.other.project.version}</version> </parent>> <dependencies>. <dependency>>. <groupId>my.project</groupId> <artifactId>myjar</artifactId> <version>${my.project.version}</version> </dependency> </dependencies>. </project> Now, I can succesfully build myproject, but when I build myotherproject I get this error: [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. GroupId: my.project ArtifactId: myparentpom Version: ${my.project.version} Reason: Unable to download the artifact from any repository my.project:myparentpom:pom:${my.project.version} from the specified remote repositories: central (http://repo1.maven.org/maven2). When I look into my local repository I can see that the files and directories of myproject correctly has the 1.2-SNAPSHOT version. But when I look inside the saved poms in the repo I can see that they still contain the ${my.project.version} variable, and it seems that maven is unable to dereference that variable when resolving the dependency. So, am I missing something here? Do you have any other suggestions on how to parametrisize the version numbers? Thanx in advance, /Anders --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]