首页 文章

Webapp找不到位于WEB-INF / lib文件夹中的jar

提问于
浏览
1

在 生产环境 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.

Development Config
Tomcat 5.5
OS X 10.6
日食

Production Config
Tomcat 5.5
Linux Debian

感谢您的回答!

2 回答

  • 1

    默认情况下,Debian发行版附带的Tomcat具有非常严格的Java安全管理器 . 我的猜测是你正在使用打包版本并且它禁止某些东西 . 您发布的跟踪的最后一行中提到的日志中很可能出现“某事”:

    note备注根本原因的完整堆栈跟踪在Apache Tomcat /5.5日志中 .

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

  • 1

    我看到一些非常相似的东西,需要一个来自另一个jar的类,而且jar不在类路径上 .

    查看Tomcat日志中堆栈跟踪的根本原因 . 这很可能会揭示出了什么问题 .

相关问题