Primero: me doy cuenta de que este problema debería ser bastante simple y que mucha gente parece haberlo experimentado. Sin embargo, parece que mi problema puede ser ligeramente diferente de las publicaciones existentes."No se pudo encontrar la clase principal" al hacer doble clic en el archivo .jar
Estoy usando NetBeans para compilar una aplicación Java. Cuando se termina de compilar, la salida entra en la carpeta dist \ correctamente. El archivo jar está presente allí. Si voy a la línea de comandos, vaya a esa carpeta, y llamar a los siguientes:
java-jar Prosperity.jar
todo funciona bien. Obviamente, el nombre de la aplicación es Prosperidad. El siguiente comando también funciona bien:
javaw-jar Prosperity.jar
Sin embargo, hacer doble clic en el archivo .jar da el mensaje: "No se pudo encontrar la clase principal:" y luego da la ruta de acceso a el archivo .jar. He comprobado cientos de veces que la carpeta META-INF existe dentro del archivo .jar, y que dentro de ella existe un MANIFEST.MF con el nombre correcto de la clase principal. También he comprobado que el archivo clase principal (App.class) .class existe dentro del archivo .jar.
Entonces la pregunta es: ¿cuál es la diferencia entre hacer doble clic en un archivo y ejecutar javaw en él? ¡Es realmente frustrante que no solo se ejecute!
Gracias por cualquier dirección que pueda darme, ¡me estoy arrancando el pelo aquí!
Parece que de alguna manera Java está teniendo la idea de que mi clase principal en realidad se llama PATH para el archivo jar que estoy ejecutando. No tengo idea de cómo se viene con eso. Parece ignorar el valor dentro del manifiesto y buscar una clase principal con el nombre: C: \ Users \ MyUser \ MyApp \ Prosperity.jar. Asumo que si pudiera descubrir cómo se está convirtiendo en el nombre de la clase principal que está buscando, entonces podría resolver el problema. – aardvarkk