2009-03-25 42 views

Respuesta

15

Supongo que quiere ejecutar su aplicación desde un comando maven. Usted puede utilizar el plugin exec así:

<build> 
    <plugins>  
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.1-beta-1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>java</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <mainClass>com.package.MainClass</mainClass> 
       <arguments> 
        <argument>arg1</argument> 
        <argument>arg2</argument> 
       </arguments> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Es posible que tenga esto en su pom también.

<repositories> 
    <repository> 
     <id>Maven Snapshots</id> 
     <url>http://snapshots.maven.codehaus.org/maven2/</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
    </repository> 
</repositories> 
<pluginRepositories> 
    <pluginRepository> 
     <id>Maven Snapshots</id> 
     <url>http://snapshots.maven.codehaus.org/maven2/</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
    </pluginRepository> 
</pluginRepositories> 

La configuración real puede variar, dependiendo de la versión del ejecutivo plugin que en realidad terminan usando - He tenido éxito con algunas versiones, pero sin éxito con otros, por lo que es una especie de ensayo y error para averigua la versión correcta del jar para tu proyecto. También es un poco doloroso si tienes múltiples desarrolladores, ya que los argumentos para un desarrollador pueden no ser correctos para otro, por lo que puede ser mejor simplemente escribir un script por lotes/shell para iniciar la aplicación.

Para completar, aquí hay un código de muestra para hacer que un archivo jar ejecutable vaya con el enlace en la respuesta de romaintaz.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.package.MainClass</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

Gracias, el plugin de ejecución hizo el truco. Impresionante respuesta. – javito

3

¿Qué es exactamente lo que quiere lograr?

Una aplicación Swing es una aplicación Java "normal", por lo que no tiene necesidades específicas con respecto a la configuración de Maven.

Puede ver here para saber cómo crear un archivo ejecutable JAR con Maven. También puede echarle un vistazo al here para crear un archivo JAR que contenga todas las dependencias.