logo

Sin atributo manifiesto principal

En un proyecto Java, cada archivo jar ejecutable contiene un método principal. Por lo general, se coloca en el punto inicial de la aplicación. Para ejecutar un método principal mediante un archivo jar autoejecutable, debemos tener un archivo de manifiesto adecuado y envolverlo con nuestro proyecto en la ubicación adecuada. Estos archivos tienen un atributo de manifiesto principal que se utiliza para definir la ruta a la clase que tiene el método principal.

A veces, tenemos un jar autoejecutable y cuando intentamos ejecutar el proyecto, arrojará el siguiente mensaje de error:

 Unable to execute jar- file: 'no main manifest attribute.' 

El mensaje de error anterior se produce debido a que falta una entrada de Main-Class en el archivo MANIFEST.MF.

Puede encontrar este problema en cualquier configuración basada en Java proyecto. Analicemos sus soluciones:

Solución:

Entendamos sus soluciones en diferentes proyectos:

experto

En experto Proyecto, este problema puede surgir debido a la falta de entrada de Main-Class en el archivo MANIFEST.MF. Para superar este problema, podemos definirlo en nuestro archivo pom.xml poniendo manualmente un complemento-maven-jar en pom.xml.

 org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain 

En el código anterior, com.javatpoint.AppMain es nuestro nombre completo de Main-Class. Debe reemplazar el nombre completo de acuerdo con su classpath. Para copiar el nombre completo, haga clic derecho en el paquete que contiene la clase principal y seleccione Copiar el nombre completo .

Gradle

Si recibe este error en su proyecto Gradle, puede resolverlo colocando las siguientes entradas en su construir.gradle archivo:

 plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } } 

Aplicación de arranque de primavera

A veces este error puede aparecer en su Bota de primavera proyecto. Es fácil resolver este error en el proyecto Spring Boot. Para corregir este error en el proyecto SB, coloque la dependencia del complemento maven debajo de la etiqueta en el archivo pom.xml.

 org.springframework.boot spring-boot-maven-plugin 4.0.1 

Causa raíz del error sin atributo manifiesto principal

El 'error sin manifiesto principal' generalmente se produce si se metió en el archivo MANIFEST.MF ubicado en la carpeta META-INF. Por defecto, tiene la siguiente entrada:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse 

Dónde,

Versión de manifiesto es la versión del archivo de manifiesto.

Construido por es el nombre de tu PC.

Construir-Jdk es la versión JDK instalada en su máquina.

Creado por es el nombre del complemento utilizado en IDE.

Cuando ejecutemos el proyecto, buscará la clase principal en el archivo MANIFEST.MF. Lanzará el mensaje de error 'No se puede ejecutar el archivo jar' si no encuentra la entrada. Cuando ejecutamos las soluciones anteriores, la entrada de clase se actualizará automáticamente en el archivo de manifiesto del proyecto de la siguiente manera:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain