我在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.
然后把该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.
启动了。
我在我的工程的/WEB-INF/lib里有放mysql驱动。
在本地连服务器也跑的通的
放到上面就不行了to yingkeda
我明白是空指针。我不明白为什么。因为本地是跑都过的
我是把一个war包放到上面的
服务器重启tomcat时自动builder的本来可以跑的
结果我重新把一些文件给发布上去 就这样了。
真是郁闷
这个异常是说你的某个类在classpath中没有找到,估计是你的mysql的jdbc jar文件没有加入啊,你可以把你的war文件解压,看lib里面是否有这个jar文件啊!
这个类是有的。
我也是明白没有找到mysql的驱动文件中的那个类。
但是这个东西发布在本地运行好的
发布上去就不行了
这个可能性还有点 现在还不能处理。
刚刚查过服务器上的那个jar
很遗憾那个jar是全的
mysql-connector-java-5.0.0-beta-bin.jar
这个是我用的mysql驱动
2、开发环境和服务器用的数据库是否是同一个
tomcat版本确实不同,但是以前我那样发布过一次是好的。
开发环境和服务器用的数据库是同一个。
我是把一个war文件发到linux下的。
等到他的tomcat重启时,解压出来。
在本地的tomcat下跑完 测试过了再放到服务器上的
你说的有没改变 我以为是说在linux下的tomcat把我的war包解压出来时出现变化。
这个我不是很懂了linux的东西。
java.lang.NoClassDefFoundError
com.mysql.jdbc.Connection. <init>(Connection.java:1176)
或者你么你有mysql的驱动,或者是不再classpath中
因为我的这个web工程 自动加载/WEB-INF/lib下的jar包有些不是要手工去再buildpath里添加的。
不在classpath中这个我也是很怀疑的
但是我这个在windows下的话工程自动加载了/WEB-INF/lib下的jar。
所以我不是手工添加的。
这个是问题吗?
这个我早就做的to kaynezhang
这个怎么说呢?
用的是美国的hostdomainzone