2012-07-29 25 views
5

Tengo un archivo por lotes que ejecuta una clase java utilizando maven que depende de tools.jar (desde el JDK).
Por ejemplo:
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
Mi programa utiliza tools.jar desde el JDK y he agregado una dependencia del sistema en maven que lo señala.
Dado que el objetivo de exec: java no incluye las dependencias del sistema, deseo agregar manualmente la dependencia desde la línea de comando.
Aunque esperaba que fuera trivial, pude encontrar la forma de hacerlo. Cualquier ayuda será apreciada.
Gracias,
Avneragregue un jar a maven exec: classpath java

Respuesta

10

Por lo que leo en maven exec plugin que le permiten configurar las dependencias que ejecutables como dependencias plugin.

<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> 
+0

¿se puede hacer esto en la línea de comandos? Es una lástima si tengo que mantener un archivo pom solo para agregar la dependencia. En realidad, sería muy útil poder ejecutar una clase desde un contenedor directamente desde la línea de comandos y que se haya encargado de controlar las dependencias. – akostadinov

Cuestiones relacionadas