[ Java ] Error a ejecutar archivo JAR (solucionado)

Iniciado por JorgeEMX, 4 Enero 2007, 20:29 PM

0 Miembros y 1 Visitante están viendo este tema.

JorgeEMX

He querido ejecutar un archivo *.jar en windows y linux y me salta el mismo error, el archivo .jar contiene lo siguiente:


- Carpeta_Paquete
|
|_ archivo.class

-META-INF
|
|_ MANIFEST.MF

.classpath
.project



Los archivos en linux:

.classpath

<?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

<?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

Manifest-Version: 1.0
Main-Class: funciones.Multiplicar


Y al ejecutar en linux:


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

<?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

<?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

Manifest-Version: 1.0
Sealed: true
Main-Class: Calculadora.Multiplicar


Y al ejecutar en windows:



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

Ragnarok

¿La clase Multiplicar tiene un método main? Porque ahora mismo es lo único que se me ocurre.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones


Ragnarok

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é.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

JorgeEMX

Ya lo tengo solucionado desde hace un tiempo XD, no me habia pasado por aqui:

MANIFEST.MF

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