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
Asked
Active
Viewed 9,513 times
7

Grim
- 1,938
- 10
- 56
- 123

Avner Levy
- 6,601
- 9
- 53
- 92
1 Answers
10
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>

Tomasz Krzyżak
- 1,087
- 8
- 10
-
1can this be done on command line? It's too bad if I have to maintain a pom file just for adding the dependency. Actually it would be very useful to be able to run a class from a jar directly from command line and have maven take care of pulling dependencies.. – akostadinov Sep 04 '13 at 05:22