The problem: My software uses a library that every developer (and user) has installed in a different location.
The following works in pom.xml
:
<project ...>
...
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myName</artifactId>
<version>1.2.3</version>
<scope>system</scope>
<systemPath>C:\...\....jar</systemPath>
</dependency>
</dependencies>
</project>
But when I check this into source control, every developer who needs to change it, has to change the pom.xml
, thus having to ignore it at every commit afterwards or to commit partially if he has to change anything else in the pom.xml
, such as adding another dependency.
Using a property does not help, it just moves the problem to another location inside the
pom.xml
.Using a property and reading it from an external file (properties-maven-plugin) seems not to work since the plugin is called after the dependency checks of e.g. Eclipse: Dynamically adding a Maven dependency from a property
Using environment variables
${env.MY_VARIABLE}
seems not to work either:[ERROR] 'dependencies.dependency.systemPath' for myGroup:myName:jar must specify an absolute path but is ${env.MY_VARIABLE} @line 123, column 45
Any ideas on how to solve that?