Foro de elhacker.net

Programación => Java => Mensaje iniciado por: JorgeEMX en 4 Enero 2007, 20:29 pm



Título: [ Java ] Error a ejecutar archivo JAR (solucionado)
Publicado por: JorgeEMX en 4 Enero 2007, 20:29 pm
He querido ejecutar un archivo *.jar en windows y linux y me salta el mismo error, el archivo .jar contiene lo siguiente:

Código:
- Carpeta_Paquete
 |
 |_ archivo.class

-META-INF
 |
 |_ MANIFEST.MF

.classpath
.project


Los archivos en linux:

.classpath
Código:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/usr/lib/eclipse-3.2/plugins/org.eclipse.swt_3.2.1.v3235e.jar"/>
<classpathentry kind="lib" path="/usr/lib/eclipse-3.2/plugins/org.eclipse.swt.gtk.linux.x86_3.2.1.v3235.jar"/>
<classpathentry kind="output" path=""/>
</classpath>

.project
Código:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ProyectoEscuela</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

MANIFEST.MF
Código:
Manifest-Version: 1.0
Main-Class: funciones.Multiplicar

Y al ejecutar en linux:

Código:
soullost@UnderHouse ~/workspace/ProyectoEscuela/funciones $ java -jar multiplicar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite

Los archivos en windows:

.classpath
Código:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="C:/eclipse/plugins/org.eclipse.swt_3.1.0.jar"/>
<classpathentry kind="lib" path="C:/eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
<classpathentry kind="output" path=""/>
</classpath>

.project
Código:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ProyectoEscuela</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

MANIFEST.MF
Código:
Manifest-Version: 1.0
Sealed: true
Main-Class: Calculadora.Multiplicar

Y al ejecutar en windows:

(http://img177.imageshack.us/img177/2879/errorwl1.jpg)

El archivo .jar lo he generado con Eclipse  :rolleyes:


Título: Re: [ Java ] Error a ejecutar archivo JAR (open)
Publicado por: Ragnarok en 4 Enero 2007, 20:40 pm
¿La clase Multiplicar tiene un método main? Porque ahora mismo es lo único que se me ocurre.


Título: Re: [ Java ] Error a ejecutar archivo JAR (open)
Publicado por: JorgeEMX en 4 Enero 2007, 20:58 pm
Se, public static void main(String[] args) ......

:-\


Título: Re: [ Java ] Error a ejecutar archivo JAR (open)
Publicado por: Ragnarok en 17 Enero 2007, 01:30 am
Por si sigues con la duda ya que sólo han pasado un par de semanas a mi me acaba de salir ese error y es porque hay alguna clase que usas y no está en el classpath y no la encuentra. Si averiguo más lo pondré.


Título: Re: [ Java ] Error a ejecutar archivo JAR (open)
Publicado por: JorgeEMX en 17 Enero 2007, 01:51 am
Ya lo tengo solucionado desde hace un tiempo XD, no me habia pasado por aqui:

MANIFEST.MF
Código:
Manifest-Version: 1.0

Class-Path: org.eclipse.swt_3.1.0.jar org.eclipse.swt.win32.win32.x86_3.1.0.jar

Main-Class: funciones.Multiplicar

Los archivos org.eclipse.swt_3.1.0.jar y org.eclipse.swt.win32.win32.x86_3.1.0.jar puesto en la raiz del archivo .jar y la dll necesaria en windows también (swt-win32-3138.dll). Listo doble click con cualquiera pc que tenga la mv de java tongue.gif