miércoles, 29 de enero de 2014

[Oracle BPM Studio] Error: NoClassDefFoundError en el workspace.log


(*) Este error no aparece en tiempo de compilación -ni de publicación-, sino en tiempo de ejecución:
Empezó con una observación del área de testing (Que luego se tornó más grave porque todos los proyectos recientemente modificados presentaban dicho fallo)
La tarea de la actividad XXXXX no se ha podido ejecutar correctamente.
Y al darle clic a "Detalles >>": 
"Consulte el archivo de registro para obtener más información" y un código de error.

Al consultar dicho archivo (el log de errores, workspace.log), sólo se encontraba una descripción vaga y muy general, y entre un montón de líneas del error no capturado por el WebLogic
Aquí un extracto de dicho log:

[ (cont) ] Main: Caused by: java.lang.NoClassDefFoundErrorherramientas/corenevado/Util[ (cont) ] Main:  at xobject.ModCoreNevado.Utilidades.BPMO_Conexion.getConexion(BPMO_Conexion.xcdl:8)[ (cont) ] Main:  at xobject.ModCoreNevado.Utilidades.BPMO_Conexion.<init>(BPMO_Conexion.xcdl:1)[ (cont) ] Main:  at CORENEVADO.Id1000002PersonaRegistrarModificar.Default_1_0.Instance.CIL_registrarModificarRegistrarModificarIN(Instance.xcdl:9)[ (cont) ] Main:  at CORENEVADO.Id1000002PersonaRegistrarModificar.Default_1_0.Instance.CIL_registrarModificarRegistrarModificarIN(Instance.xcdl)
El proceso Id1000002PersonaRegistrarModificar hace una llamada al constructor de BPMO_Conexion, desde donde se llama al método getConexion();
Ahí, hay una llamada a la clase Util.java del package herramientas/corenevado.
Pero, aunque dice mucho no decía nada...

Para empezar, el error no ocurría por la clase Util.java (propia nuestra), sino por las librerías que referencia, pero que no se podía evidenciar en ningún lado.

El error (nuestro, como equipo) fue, en primer lugar:

1. Al exportar un proyecto: 
Anticlic en el proyecto -> Exportar Proyecto

(    )  Excluir todas las bibliotecas
(   ) Incluir todas las bibliotecas (Obligatorio para publicar con Studio)
(X) Incluir sólo bibliotecas versionables (recomendado para publicar con empresas)
Al escoger la tercera opción (con la que siempre han funcionado los proyectos) "Incluir sólo bibliotecas versionables (recomendado para publicar con empresas)", se generaban exportados de ~4MB o menos. Imposible, algo estaba fallando (y al publicar ya salía el mismo error de arriba)
Pero al escoger la segunda opción: "Incluir todas las bibliotecas (Obligatorio para publicar con Studio)", se generaba un exportado de ~15MB (lo que siempre han pesado), pero al publicar seguía sin funcionar (el mismo error de arriba).

El cual se complementa/explica en el siguiente paso:

2. Declarar (nuevos) recursos externos sin darle a la opción check "Versionable".

Tal como dice la (tercera) opción al generar un exportado:
Incluir bibliotecas versionables
- Y con bibliotecas se refiere a Recursos Externos.
- Y con versionables -aunque no sé a qué se refiere- me permite decidir si mi recurso será versionable o no.

Lo que pudimos aprender fue que, sin razón aparente ni advertencia alguna, aunque la 3ra opción diga "recomendable (...)", quiere decir que es OBLIGATORIO.
Por alguna razón que desconozco, el WebLogic es incompatible con la 2da opción, que la publicaba sin errores pero no funcionaba para nada. 
Falta diferenciar qué quiere decir "publicar con Studio" y "publicar con empresa", que ni en la documentación de Aqualogic encontré información.

Pero ¿quieren la verdad? Después de casi una semana con el mismo error, lo único que me importa, es que funcione ;)

Fuente:

(*) Prólogo: 
El equipo a mi cargo reinstaló y reconfiguró el Oracle BPM Studio, obviando los pasos antes mencionados;
el martes o miércoles pasado saltó este error, que parecía minúsculo...
Y -aunque la solución es minúscula- el error no lo fue, estando durante casi 1 semana entera probando soluciones, instalando y reinstalando, configurando, desconfigurando y reconfigurando, ¡y nada!


Recibe en tu correo electrónico las últimas actualizaciones de éste blog:
Ingrese su e-mail:
(y no olvide confirmar su suscripción)
También me encuentras en facebook. También en twitter. También en tumblr.

1 comentario:

  1. Wow.. NAto.. ahora todo un experot en BPM!!! Me alegra compare!! Eres un buen referente en BPM en el PERU!.
    Saludos

    ResponderEliminar