IllegalStateException: Implementation not found when trying to obtain a class

时间:2017-04-10 00:26:34

标签: java linux jar websphere

I've deployed an application(EAR) on IBM WebSphere succesffully. When I hit the URL - "https://WAS-External-IP:PORT/ProjectName/OtherInfo/ServletName, I get the error:

Error 404: javax.servlet.UnavailableException: SRVE0200E: Servlet [ServletName]: Could not find required class - class ServletName : javax.servlet.ServletException: Project's Exception: com.sun.crypto.provider.SealedObjectForKeyProtector

From the post - identify whether is code running on app engine runtime (Java) I figure that GAE runtime 1.9.23 has the fix for runtime whitelisting, which omitted one or more classes needed to load the JCEKS key store. However, I can't figure out where can I find the GAE runtime version in my WebSphere.

When the same code is run when Application is installed on a Windows box, I don't get this error.

When I looked at the trace logs, I get the error: Caused by: java.lang.IllegalStateException: No implementation could be SystemErr R at jarName.classname.methodName(className.java:LineNumber)

From debugging, I see the class-name string is not loaded in the classpath. However, when I checked the jars available in the path mentioned in the classpath, I can see the JAR is present there. The JAR is also present in the pom file of the project.

I'm not able to set debug points at static blocks of missing class to see what is going wrong.

Windows and Linux often return list of files in different order, which can lead to jars being added to the classpath in a different order. How can I make Linux read the missing JAR in the classpath the way Windows does?

0 个答案:

没有答案