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).
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