Solución a NoClassDefFoundError: SWTResourceUtil

0
18080

Solución a NoClassDefFoundError: SWTResourceUtil

Introducción:

El cometido de éste tutorial es la solución a un error que si bien no es grave, es bastante molesto. Si estamos usando la versión Eclipse 3.4 (Ganymede) y lo tenemos integrado con repositorios Subversion utilizando Subversive al hacer cualquier acción que ataña al repositorio, ya sea commit, revert…etc, se ha detectado que en algunos equipos aparece el siguiente error:

An error has occurred. See error log for more details.

java.lang.NoClassDefFoundError

Si pinchamos en ver los detalles del error vemos que el programa no encuentra la clase“SWTResourceUtil” ubicada en “org/eclipse/ui/internal/util”.

El error arriba mencionado no resulta un problema para realizar las acciones propias con el respositorio ya que podemos ignorarlo sin que nos cancele la operación. Pero como siempre nos gusta trabajar con la mayor comodidad posible mejor quitarlo, ¿no creeis?.

Solución al problema:

La manera de solucionar el problema que os vamos a proponer os puede parecer algo “rudimentaria” pero hacedme caso, eficaz.

Básicamente lo que vamos a hacer es descargarnos la versión Europa de Eclipse (3.3) que sí incluía la clase SWTResourceUtil y meterselo a mano en nuestra versión Ganymede.
Bien, vamos paso por paso:

  1. Si teneis algún compañero que esté usando la versión Europa os aconsejo os salteis al paso y le pidais que os pase directamente el archivo que veremos en el paso 3, ya que así os evitais descargaros 127 Mb. Si no somos tan afortunados, nos descargamos de la web de Eclipse la versión Europa: Descarga (seleccionando el Mirror que queramos).

  2. Descomprimimos el contenido del zip que nos acabamos de bajar y accedemos a la ruta “eclipse\plugins”. Buscamos el archivo

    NOTA: el nombre del archivo puede variar dependiendo de la versión que nos hayamos bajado.

  3. Nos creamos una carpeta temporal en la que copiamos el archivo en cuestión y ejecutamos desde la consola de windows la siguiente instrucción

    jar xvf org.eclipse.ui.workbench_3.3.2.M20080207-0800.jar org/eclipse/ui/internal/util/SWTResourceUtil.class

    Esto nos extraerá el archivo que estamos buscando del jar bajo la ruta “org/eclipse/ui/internal/util”

  4. Ahora la tarea que nos queda como ya habreis deducido es meter el archivo que acabamos de extraer de la versión Europa al jar de la versión Ganymede. En primer lugar copiamos el archivo equivalente al que hemos sacado antes del europa, del Ganymede. Lo movemos al directorio donde tenemos el archivo “SWTResourceUtil”.

    NOTA: al igual que antes, el nombre del archivo puede variar dependiendo de la versión usada.

  5. Ejecutamos la siguiente instrucción:

    jar uvf org.eclipse.ui.workbench_3.4.1.M20080827-0800a.jar org/eclipse/ui/internal/util/SWTResourceUtil.class

    Lo que nos agregará en el archivo de workbench el SWTResourceUtil.

  6. Por último solo nos queda sustituir el archivo que acabamos de modificar a su lugar original, es decir, en la carpeta plugins del directorio donde tengamos instalado eclipse (sobreescribiendo el anterior).

  7. Si teniais el entorno Eclipse abierto solo teneis que cerrarlo y al volver a entrar y ¡Tachan! ¡Magia!. Ya podeis comunicaros con el repositorio sin problemas de que aparezca ese error molesto.

Espero os haya sido de utilidad esta guia y nos vemos en el próximo tutorial.

Un saludo.

Rubén Gómez

mailto:rgomez@autentia.com

Dejar respuesta

Please enter your comment!
Please enter your name here