THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- We want to provide a single place for versions to be defined for a multi project build.
Option 1
Using the standard dependencyManagement element to specify the versions.
Possible limitations:
- Might be that you want to use the version string somewhere else for whatever reason. You could reference the dependency but that would probably be pretty verbose.
Code Block |
---|
<project> ... <properties> <fooVersion>1.0</fooVersion> <barVersion>2.0</barVersion> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.foo</groupId> <artifactId>foo</artifactId> <version>${fooVersion}<<version>1.0</version> </dependency> <dependency> <groupId>org.bar</groupId> <artifactId>bar</artifactId> <version>${barVersion}<<version>2.0</version> </dependency> </dependencies> </dependencyManagement> ... </project> |
Option 2
This option has each version used specified in a property and that property is used in the dependencyManagement element and can be used anywhere else.
Possible limitations:
- Any tooling made to help manage dependencies would be dealing with free form properties
Code Blocknoformat |
---|
<project> ... <properties> <fooVersion>1.0</fooVersion> <barVersion>2.0</barVersion> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.foo</groupId> <artifactId>foo</artifactId> <version>1.0<<version>${fooVersion}</version> </dependency> <dependency> <groupId>org.bar</groupId> <artifactId>bar</artifactId> <version>2.0<<version>${barVersion}</version> </dependency> </dependencies> </dependencyManagement> ... </project> |
...