2011-06-10 9 views
5

Problema: Me gustaría especificar la clase principal en un archivo jar que estoy empaquetando usando m2eclipse: [clic derecho] -> Ejecutar como -> paquete Maven. Todavía estoy aprendiendo Maven y por lo que he leído, la forma más directa de lograr esta tarea es agregar una estrofa al pom.xml.
Éstos son ejemplos que encontré cuando estaba investigado este tema:¿Cuál es la forma correcta de especificar una clase principal al empaquetar un contenedor utilizando m2eclipse?

Mi pregunta es la siguiente: ¿es correcto para editar manualmente el POM archivo .xml fuera de Eclipse/m2eclipse usando un editor de texto, o debería estar haciendo esta configuración usando la GUI m2ecplise? Hay varios cuadros de diálogo con pestañas que parecen posibles candidatos para esta tarea, como "Complementos" y "Crear". Revisé la documentación de Sonatype y no pude encontrar instrucciones detalladas sobre cómo lograr lo que necesito hacer.

estoy un poco indeciso a editar el pom.xml manualmente porque noto la "POM eficaz" ya cuenta con una gran cantidad de material extra en ella, incluyendo la definición plugin que necesita haber añadido a la misma:

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.3.1</version> 
    <executions> 
     <execution> 
     <id>default-jar</id> 
     <phase>package</phase> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

Si he entendido bien, el POM eficaz necesita ser cambiado para que el plugin está configurado de esta manera:

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.3.1</version> 
    <executions> 
     <execution> 
     <id>default-jar</id> 
     <phase>package</phase> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
    <archive> 
    <manifest> 
     <mainClass>[name of main class]</mainClass> 
     <packageName>[package name]</packageName> 
    </manifest> 
     <manifestEntries> 
      <mode>development</mode> 
      <url>${pom.url}</url> 
    </manifestEntries> 
    </archive> 
    </configuration> 
    </plugin> 

¿es esto así? Y si es así, ¿lo hago a través de m2eclipse o debería simplemente copiar todo el material de POM eficaz y pegarlo en el pom.xml real usando un editor de texto?

Gracias a cualquiera que pueda arrojar algo de luz.

ACTUALIZACIÓN: Seguí adelante y edité manualmente el archivo pom.xml en un editor de texto. Cuando vi Effective POM en m2eclipse mostró todo lo que puse (supongo). Construí el contenedor y la clase principal se configuró correctamente.

Esto me parece un hackeo. ¿Alguien sabe si hay una forma de hacer esta configuración usando m2eclipse? Comprobé las pestañas de m2eclipse y no parecía haberse actualizado nada como resultado de mis ediciones manuales de pom.xml (aparte de la pestaña Effective POM).

Respuesta

3

m2eclipse no hace todo por usted, es decir, no hay una bonita pestaña UI para manejar todo.

Mi equipo se siente más cómodo editando el POM manualmente, y usando las otras pestañas para la verificación (como la vista Efectiva POM).

+0

Hola John, gracias, eso es lo que necesitaba saber. Estoy comenzando mi estudio de Maven ahora y continuaré y haré la mayoría de mis configuraciones de forma manual. Es bueno saber que no me faltaba algo y piratear archivos que no estaban destinados a ser editados directamente. – David

Cuestiones relacionadas