如何验证部署在Tomcat服务器中的一个java框架?

如何验证部署在Tomcat服务器中的一个java框架?,java,tomcat,Java,Tomcat,我在Tomcat 7中部署了一个Java web应用程序,我有如下异常: Sep 29, 2015 1:36:56 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [arms-api] in context with path [] threw exception [Handler processing failed; nested exception is

我在Tomcat 7中部署了一个Java web应用程序,我有如下异常:

Sep 29, 2015 1:36:56 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [arms-api] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/objenesis/Objenesis] with root cause
java.lang.ClassNotFoundException: org.objenesis.Objenesis
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at ch.lambdaj.proxy.ProxyUtil.createProxy(ProxyUtil.java:52)
    at ch.lambdaj.proxy.ProxyUtil.createIterableProxy(ProxyUtil.java:76)
    at ch.lambdaj.function.aggregate.ProxyAggregator.createProxyAggregator(ProxyAggregator.java:49)
    at ch.lambdaj.Lambda.aggregateFrom(Lambda.java:573)
    at ch.lambdaj.Lambda.aggregateFrom(Lambda.java:556)
    at ch.lambdaj.Lambda.joinFrom(Lambda.java:902)
我的代码正在从lambdaj-2.4.jar调用joinFrom。看起来jar不在类路径中

但是我检查了tomcat,jar位于/opt/apache-tomcat-7.0.42/webapps/ROOT/WEB-INF/lib文件夹下。 我尝试设置JMX来监视这个tomcat服务器。那个么,有什么方法可以确认这个jar已经加载到服务器中了吗?我在姆贝纳斯搜索过,但没找到。
您是否使用maven或其他解决方案进行依赖关系管理?如果没有,您应该尝试使用它,因为在您的例子中,lambdaj库有它自己的依赖项。例如,请看一看。它取决于objeness库和一些其他库。如果你想使用LambdaJ,你也必须提供它们。而未找到的类来自Objeness库

更新: 您可以使用一些非特定于服务器的工具来获取JVM类加载的所有内容,例如:

jmap-histo

要获取所有已加载类的列表,或者您可以尝试使用jvisualvm。

这是一个旧应用程序,它将ANT用作构建工具。问题是构建包很好,可以在DEV和PROD中工作,但不能在UAT中工作。可能是操作系统补丁问题或其他问题。所以我关心的是如何验证依赖项是否加载到tomcat服务器中。嗯,奇怪的行为。更新了答案,您可以列出jvm加载的类,无需考虑tomcat,它只是所有特定于jvm的
jmap -histo <PID>