Consultor Eletrônico



Kbase 20333: NoClassDefFoundError: Promsgsfile on Unix
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   29/01/2009
Status: Verified

SYMPTOM(s):

java.lang.NoClassDefFoundError: com.progress.common.util.PromsgsFile (initialization failure)

Trying to connect from ABL to SonicMQ using SMQConnect fails

Failed to get AIA Status with HTTP STATUS error 500

http://hostname:8080/aia/Aia returns HTTP Status 500

The Java exception slightly differs depending on the Java Servlet Engine JSE used.

javax.servlet.UnavailableException: java.lang.NoClassDefFoundError

javax.servlet.ServletException: Error allocating a servlet instance

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet

java.lang.UnsatisfiedLinkError
Message (excp): $DLC/bin/jni_util.dll: libjutil.so: cannot open shared object file: No such file or directory

Message (excp): $DLC/bin/jni_util.dll: No such file or directory

Stack Trace: java.lang.UnsatisfiedLinkError: $DLC/bin/jni_util.dll: No such file or directory at com.progress.common.log.LogSystem.

Problem occurs when AppServer Internet Adapter resides on a Unix box

FACT(s) (Environment):

Progress 9.1D
Progress 9.1B
Progress 9.1C
UNIX
OpenEdge 10.x

CAUSE:

The library path is not properly set.

FIX:

Set the library path variable before starting JRun, Tomcat, or ServletExec or _progres correctly.


For ServletExec:

Put following 2 lines with StartServletExec and restart your instance.

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DLC/lib
export LD_LIBRARY_PATH


For JRUN:

When setting it within the JRun startup script file(/Jrun/bin/jrun), do the following:

1. Include $DLC/lib in this variable.

2. The variable name differs depending on the operating system. For example: LIBPATH for AIX, SHLIB_PATH for HP-UX, and LD_LIBRARY_PATH for Solaris.

3. The jrun script already sets the variable, so make sure you include the new value before the variable is exported, otherwise its value is overwritten by the script and you still see the error.
Instead of running _progres run pro , bpro or mpro instead which set the environment variables for you.