java - for - no hay ningún atributo de manifiesto principal en spring boot
¿Por qué no ha podido cargar el atributo de manifiesto de clase principal desde un archivo JAR? (11)
He creado un archivo JAR de esta forma jar cf jar-file input-files
. Ahora, estoy tratando de ejecutarlo. Ejecutarlo no funciona (el comando jre no se encuentra):
jre -cp app.jar MainClass
Esto tampoco funciona:
java -jar main.jar
(Error al cargar el atributo de manifiesto de clase principal desde main.jar).
También descubrí que
Para ejecutar una aplicación empaquetada como un archivo JAR (versión 1.2 - requiere encabezado de manifiesto de clase principal)
¿Cuál es el "encabezado del manifiesto de la clase principal"? ¿Cómo lo creo y dónde lo pongo?
establecer el classpath y compilar
javac -classpath "C: / Archivos de programa / Java / jdk1.6.0_ updateVersion / tools.jar" yourApp.java
crear manifest.txt
Clase principal: su nueva línea de aplicaciones
crea tuApp.jar
jar cvf0m yourApp.jar manifest.txt yourApp.class
ejecuta yourApp.jar
java -jar yourApp.jar
Descubrí que también estaba teniendo este error en NetBeans. Espero que lo siguiente sea útil.
- Asegúrese de que cuando vaya a Configuración del proyecto, configure la clase principal que desea ejecutar.
- Haz una compilación o compilación limpia
- Coloque el archivo jar donde desee e intente: java -jar "YourProject.jar" nuevamente en la línea de comando.
Este era el problema que estaba teniendo porque tenía otros programas de "prueba" que estaba usando en NetBeans y tenía que asegurarme de que la clase principal en la porción de ejecución de la configuración del proyecto estuviera configurada correctamente.
muchas bendiciones, John P
La forma más fácil de asegurarse de haber creado correctamente el archivo JAR ejecutable, con el archivo de manifiesto apropiado, es usar Eclipse para compilarlo. En su proyecto de Eclipse, básicamente selecciona Archivo / Exportar del menú y sigue las instrucciones.
De esta forma, puede estar seguro de que su archivo JAR es correcto y sabrá buscar en otro lado si todavía hay un problema. El proceso se describe en completo en Preguntas frecuentes ¿Cómo creo un archivo JAR ejecutable para un programa SWT independiente? .
Me enfrenté al mismo problema. Este comando de Unix no puede encontrar la clase principal. Esto se debe a que las versiones de tiempo de ejecución y compilación de JDK son diferentes. Haz que el contenedor pase por eclipse después de cambiar la versión del compilador de Java. El siguiente enlace me ayudó.
Intente ejecutar el jar creado después de este paso y luego ejecútelo
No estoy seguro de creer tus síntomas:
- Si no se encuentra el comando
jre
, ejecutarjre -cp app.jar
debería dar el mismo error - Solo agregar un archivo JAR al classpath no debería dar el error que estás viendo
Espero que veas este error si ejecutas:
java -jar app.jar
El encabezado de clase principal debe estar en el manifiesto para el archivo JAR; estos son metadatos sobre cosas como otras bibliotecas requeridas. Consulte la documentación de Sun sobre cómo crear un manifiesto apropiado. Básicamente, necesitas crear un archivo de texto que incluya una línea como esta:
Main-Class: MainClass
Entonces corre
jar cfm app.jar manifest.txt *.class
Obtuve el mismo error cuando ejecuté:
jar cvfm test.jar Test.class Manifest.txt
Lo que lo resolvió fue esto:
jar cvfm test.jar Manifest.txt Test.class
Mi manifiesto tiene el punto de entrada como aparece en los documentos de Oracle (asegúrese de que haya un nuevo carácter de línea al final del archivo):
Clase principal: Prueba
Puede ejecutar con:
java -cp .;app.jar package.MainClass
Funciona para mí si no hay manifiesto en el archivo JAR.
Recibí este error, y fue porque tenía los argumentos en el orden incorrecto:
CORRECTO
java maui.main.Examples tagging -jar maui-1.0.jar
INCORRECTO
java -jar maui-1.0.jar maui.main.Examples tagging
Si su ruta de clase está completamente especificada en el manifiesto, tal vez necesite la última versión del entorno de ejecución de Java. Mi problema se solucionó cuando reinstalé el jre 8.
Si usa eclipse, intente a continuación: 1. Haga clic con el botón derecho en el proyecto -> seleccione Exportar 2. Seleccione el archivo Jar ejecutable en el destino de exportación seleccionado 3. Ingrese el nombre del jar y seleccione "Paquete requerido ..." (segundo botón de radio) -> Finalizar
Espero que esto ayude...!
Tratar
java -cp .:mail-1.4.1.jar JavaxMailHTML
no es necesario tener archivo manifest
.