Pregunta

He construido un archivo JAR y se ejecuta bien en mi PC (XP) que tiene Eclipse instalado. También funciona en otra PC, que también tiene eclipse.

He intentado ejecutarlo en otra PC (XP) que no tiene Eclipse. Aunque contiene el JDK y el JRE múltiple. El archivo JAR simplemente no se ejecuta haciendo clic o desde el símbolo del sistema.

No estoy completamente seguro, pero mi mejor suposición es que las variables de entorno no se establecen correctamente. Aquí está el error que recibo del símbolo del sistema:

Exception in thread "main" java.lang.NoClassDefFoundError: ...

Cualquier ayuda sería apreciada.

¿Fue útil?

Solución

Es probable que sea un problema de clases como otros han dicho.

Una cosa a tener en cuenta es cómo se construye su frasco. Tiene una serie de opciones en el diálogo para exportar un frasco ejecutable;

  • Extraer clases en jar
  • Dependencias zip en el jar: crea jar-in-jar-loader.jar dentro del frasco.
  • Coloque frascos en un subdirectorio al lado del frasco.

Dependiendo de lo que haya elegido para esto, depende de cómo se comportará el frasco. Si se extraen las clases, las clases dependientes que no están en el JDK deberían estar en el classpath. Recomendaría este curso de acción, ya que es más simple.

Ahora, la pregunta es: ¿está utilizando una dependencia de su classpath, no en las dependencias de compilación del proyecto Eclipse? Si es así, no se empacará con / se adhiere / pondrá al lado del frasco porque Eclipse no lo sabe (pero Java aún lo encontrará en su sistema porque está en el ClassPath). Además, si ha guardado un script de hormiga y ha actualizado la ruta de compilación en Eclipse, Eclipse no actualizará ese script de hormiga, que se genera una vez.

Otros consejos

Debe ser un problema de classpath.

StackTrace también debe decir qué clase no pudo encontrar. Una vez que tenga eso, encuentre qué jar tiene esa clase. Luego agregue ese archivo JAR a su classpath o agréguelo a la variable ClassPath Env.

Las variables de entorno no se consideran al invocar un archivo JAR al hacer clic en él (equivalente a ejecutar javaw -jar your.jar).

Estoy bastante seguro de que tampoco funciona en su primera PC fuera de Eclipse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top