Maven - Proyecto que genera un jar que no se ejecuta

 
Vista:

Proyecto que genera un jar que no se ejecuta

Publicado por Jesús (1 intervención) el 21/11/2011 12:42:11
Al generar un fichero .jar utilizando Maven, el ichero jar generado da error al ser ejecutado.

Lo intento ejecutar desde la línea de comandos mediante:
java -jar vessel-1.0.jar.

El error que obtengo es:
"Failed to load Main-Class manifest attribute from vessel-1.0.jar"

Observo que en el fichero .jar generado, hay una carpeta llamada META-INF, en la que hay un fichero llamado MANIFEST.MF. El contenido de ese fichero es:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: edmund
Build-Jdk: 1.6.0_26

Creo que en dicho fichero debería haber una línea indicando qué fichero contiene la clase main, algo como:
Main-Class: vessel


Para generar el fichero POM he utilizado como archetypeArtifactId maven-archetype-quickstart. Este es el fichero POM que utilizo

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.cit</groupId>
<artifactId>vessel</artifactId>
<version>1.0</version>
<packaging>jar</packaging>

<name>vessel</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>


El fichero vessel.class generado en target\classes se ejecuta sin problemas.

¿Debe ser esto así o se le puede decir a Maven que genere un .jar tal que se pueda ejecutar?


Saludos y gracias anticipadas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder