简体   繁体   中英

Specify systemPath to dependency outside pom.xml

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.

  1. Using a property does not help, it just moves the problem to another location inside the pom.xml .

  2. 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 eg Eclipse: Dynamically adding a Maven dependency from a property

  3. 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?

this option works for me:

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

you have to put the jar name included in the path, for example, ${env.MY_VARIABLE/my_jar.jar} . Also make sure that MY_VARIABLE exists in your environment. at the end execute the mvn clean and mvn compile commands

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM