0

我已经构建了我的应用程序并部署在 WAS 6.1 中。我可以在 WEB-INF/lib 和 war 文件中看到我的 jar 文件,运行应用程序时我的 WAS 无法识别 JSON jar 文件。得到 No Class def found 错误。请查找附加的日志文件。

java.lang.NoClassDefFoundError: org.apache.commons.lang.exception.NestableRuntimeException at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:258) at java.security.SecureClassLoader .defineClass(SecureClassLoader.java:151) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:589) 在 java.net.URLClassLoader.access$400(URLClassLoader.java:123) 在 java.net.URLClassLoader$ClassFinder.run (URLClassLoader.java:1034) 在 java.security.AccessController.doPrivileged(AccessController.java:279) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:491) 在 com.ibm.ws.bootstrap.ExtClassLoader.findClass( ExtClassLoader.java:132) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:631) 在 com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:87) 在 java.lang.J9VMInternals.verifyImpl(Native Method) 在 java.lang.J9VMInternals.verify(J9VMInternals.java:69) 在 java.lang.J9VMInternals 在 java.lang.ClassLoader.loadClass(ClassLoader.java:597) .initialize(J9VMInternals.java:131) 在 com.nationwide.websheets.web.util.JSONUtils.marshallToJSONWithDateProcessor(JSONUtils.java:113)

我试过 1)我把我的 jar 文件放在 server/lib 中,但它对我没有帮助。我想知道如果它在 server/lib 或 server/lib/ext 中,为什么它不能识别我的 jar 文件。2) 在 WAS 中创建共享库。这对我没有帮助。3)在系统变量中设置类路径,它对我没有帮助。

有什么帮助吗?谢谢您的帮助。

感谢 CVSR Sarma。

4

3 回答 3

2

1)您的错误表明问题出在您的 commons-lang jar 上(不是 JSON.jar 本身)

2) 确保它在您的 WEB-INF/lib 中

3)可能还存在版本/交叉依赖问题。在此处查看“项目传递依赖项”表:

于 2013-05-21T20:50:11.207 回答
0

我有同样的问题。我已经安装了 WAS 6.1.0.23 它工作。此修复包适用于 For

Web 服务功能包和 EJB 3.0 功能包用户:

Web Services Feature Pack 和 EJB 3.0 Feature Pack Fix Pack 23 作为单独的 PAK 文件提供给 Web Services Feature Pack 和 EJB 3.0 Feature Pack 用户。

我不知道它是如何解决 JSON.jar 问题的。

于 2013-09-19T15:09:02.037 回答
0

我发现了这个问题。

这是 WAS6.1 的问题,我已经安装了 WAS6.1.0.23 修复包。有效。

它不是依赖问题。

于 2013-09-12T19:20:28.197 回答