Java Webapp无法';在WEB-INF/lib文件夹中找不到JAR

Java Webapp无法';在WEB-INF/lib文件夹中找不到JAR,java,tomcat,Java,Tomcat,在生产Tomcat服务器上,我的webapp找不到位于WEB-INF/lib文件夹中的JAR。在开发过程中,所有的工作都很好 堆栈跟踪 javax.servlet.ServletException: Could not initialize class util.HibernateUtil web.Engine.service(Engine.java:58) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

在生产Tomcat服务器上,我的webapp找不到位于WEB-INF/lib文件夹中的JAR。在开发过程中,所有的工作都很好

堆栈跟踪

javax.servlet.ServletException: Could not initialize class util.HibernateUtil web.Engine.service(Engine.java:58) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAsPrivileged(Subject.java:517) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) root cause java.lang.NoClassDefFoundError: Could not initialize class util.HibernateUtil web.Engine.service(Engine.java:31) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAsPrivileged(Subject.java:517) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs. javax.servlet.ServletException:无法初始化类util.HibernateUtil web.Engine.service(Engine.java:58) javaservlet.http.HttpServlet.service(HttpServlet.java:802) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:39) reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) java.security.AccessController.doPrivileged(本机方法) javax.security.auth.Subject.doAsPrivileged(Subject.java:517) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) 根本原因 java.lang.NoClassDefFoundError:无法初始化类util.HibernateUtil web.Engine.service(Engine.java:31) javaservlet.http.HttpServlet.service(HttpServlet.java:802) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:39) reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) java.security.AccessController.doPrivileged(本机方法) javax.security.auth.Subject.doAsPrivileged(Subject.java:517) org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) 注意,Apache Tomcat/5.5日志中提供了根本原因的完整堆栈跟踪。 开发配置
Tomcat 5.5
OS X 10.6

生产配置
Tomcat 5.5
Linux Debian


谢谢你的回答

默认情况下,Debian发行版附带的Tomcat具有非常严格的Java安全管理器。我的猜测是,您使用的是打包版本,这是禁止的东西。“某物”很可能在日志中可用,如您发布的跟踪的最后一行所述:

注意,Apache Tomcat/5.5日志中提供了根本原因的完整堆栈跟踪


您必须放宽限制(检查
/etc/tomcat5.5/policy.d
)或将其关闭。与管理员交谈

我看到一个jar需要另一个jar的类,而这个jar不在类路径上,这与此非常相似

查看Tomcat日志中堆栈跟踪的根本原因。这很可能会揭示出问题所在