我在windows下开发的java web工程。打成war包放到本地目录下可以运行的。
然后把该war包放到服务器上,服务器是linux的。
结果运行的话出现以下错误:
javax.servlet.ServletException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.access$1100(PageContextImpl.java:64)
org.apache.jasper.runtime.PageContextImpl$12.run(PageContextImpl.java:745)
java.security.AccessController.doPrivileged(Native Method)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:743)
org.apache.jsp.Index_jsp._jspService(Index_jsp.java:576)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:266)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
root cause java.lang.NoClassDefFoundError
com.mysql.jdbc.Connection.<init>(Connection.java:1176)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:171)
dbmanager.DBManager.getConnection(DBManager.java:28)
dbmanager.DBManager.ExcuteQuery(DBManager.java:99)
dao.ProductDao.SelectProductWithImage(ProductDao.java:101)
org.apache.jsp.Index_jsp._jspService(Index_jsp.java:59)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:266)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.

解决方案 »

  1.   

    空指针 初始化异常!mysql连接有误!
      

  2.   

    to wangju309
    启动了。
    我在我的工程的/WEB-INF/lib里有放mysql驱动。
    在本地连服务器也跑的通的
    放到上面就不行了to yingkeda
    我明白是空指针。我不明白为什么。因为本地是跑都过的
      

  3.   

    在Tomcat的lib目录下入个mysql的包试试。
      

  4.   

    to ty_seven
    我是把一个war包放到上面的
    服务器重启tomcat时自动builder的本来可以跑的
    结果我重新把一些文件给发布上去 就这样了。
    真是郁闷
      

  5.   

    java.lang.NoClassDefFoundError 
    这个异常是说你的某个类在classpath中没有找到,估计是你的mysql的jdbc jar文件没有加入啊,你可以把你的war文件解压,看lib里面是否有这个jar文件啊!
      

  6.   

    to xtbzqw
    这个类是有的。
    我也是明白没有找到mysql的驱动文件中的那个类。
    但是这个东西发布在本地运行好的
    发布上去就不行了
      

  7.   

    应该是发布的时候没有把jar包发布上去,建议把现在的删除重新发布一下,然后再试试
      

  8.   

    to cuifanghua
    这个可能性还有点 现在还不能处理。
      

  9.   

    to cuifanghua
    刚刚查过服务器上的那个jar
    很遗憾那个jar是全的
    mysql-connector-java-5.0.0-beta-bin.jar
    这个是我用的mysql驱动
      

  10.   

    1、tomcat的版本不同有时候会出问题
    2、开发环境和服务器用的数据库是否是同一个
      

  11.   

    to Zhuyutong186
    tomcat版本确实不同,但是以前我那样发布过一次是好的。
    开发环境和服务器用的数据库是同一个。
      

  12.   

    这个啊,我无法确定
    我是把一个war文件发到linux下的。
    等到他的tomcat重启时,解压出来。
      

  13.   

    我都是修改后打成war包
    在本地的tomcat下跑完 测试过了再放到服务器上的
    你说的有没改变 我以为是说在linux下的tomcat把我的war包解压出来时出现变化。
    这个我不是很懂了linux的东西。
      

  14.   

    错误是这里报出来的
    java.lang.NoClassDefFoundError
    com.mysql.jdbc.Connection. <init>(Connection.java:1176) 
    或者你么你有mysql的驱动,或者是不再classpath中
      

  15.   

    会不会是classpath自动加载的问题
    因为我的这个web工程 自动加载/WEB-INF/lib下的jar包有些不是要手工去再buildpath里添加的。
      

  16.   

    to kaynezhang
    不在classpath中这个我也是很怀疑的
    但是我这个在windows下的话工程自动加载了/WEB-INF/lib下的jar。
    所以我不是手工添加的。
    这个是问题吗?
      

  17.   

    那要看你的web project的设置了啊 
      

  18.   

    to emptylina
    这个我早就做的to kaynezhang
    这个怎么说呢?
      

  19.   

    问题还在 郁闷中
    用的是美国的hostdomainzone