问题
I have a batch file which runs a java class using maven which depends on tools.jar (from the JDK).
For example:
mvn -f .\pom.xml -e exec:java -Dfile.encoding="UTF-8" -Dexec.mainClass=MyClass -Dexec.args="%1 %2 %3 %4 %5 %6 %7 %8 %9" -Dexec.classpathScope=runtime
My program uses tools.jar from the JDK and I've added a system dependency in maven which points to it.
Since the exec:java goal doesn't include system dependencies, I want to add the dependency from the command line manually.
Although I expected it to be trivial I could find the way to do it.
Any help will be appreciated.
Thanks,
Avner
回答1:
From what I read at maven exec plugin it allow you to configure you executable dependencies as plugin dependencies.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<includeProjectDependencies>false</includeProjectDependencies>
<includePluginDependencies>true</includePluginDependencies>
<executableDependency>
<groupId>com.example.myproject</groupId>
<artifactId>mylib</artifactId>
</executableDependency>
<mainClass>com.example.Main</mainClass>
</configuration>
<dependencies>
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</plugin>
来源:https://stackoverflow.com/questions/11710485/add-a-jar-to-maven-execjava-classpath