当前位置: 代码迷 >> Java Web开发 >> jar资料是不是一定要放在tomcat\common\lib目录下
  详细解决方案

jar资料是不是一定要放在tomcat\common\lib目录下

热度:698   发布时间:2016-04-17 16:44:40.0
jar文件是不是一定要放在tomcat\common\lib目录下?
我不想把Sybase的JConnect或者MySQL的Connector/J的jar文件放置到tomcat的common\lib目录下,只想把jar文件放置在数据库服务器的安装目录下或者其他目录下,可不可以对tomcat进行配置?
刚试过了,将Sybase和MySQL的jar文件添加到classpath中去都不行!都报了出错信息,关于com.sybase.jdbc3.jdbc.SybDriver和com.mysql.jdbc.Driver出错!数据库服务器已经启动且用户名密码正确,数据库驱动放在common\lib可以,移到其他目录并在classpath中即使添加环境变量也不行!

错误信息如下:  
exception  

org.apache.jasper.JasperException:   javax.servlet.ServletException:   java.lang.ClassNotFoundException:   com.sybase.jdbc3.jdbc.SybDriver  
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:565)  
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:414)  
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)  
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)  
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  


root   cause  

javax.servlet.ServletException:   java.lang.ClassNotFoundException:   com.sybase.jdbc3.jdbc.SybDriver  
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)  
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)  
org.apache.jsp.testsybase_jsp._jspService(testsybase_jsp.java:159)  
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)  
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)  
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)  
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)  
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  


root   cause  

java.lang.ClassNotFoundException:   com.sybase.jdbc3.jdbc.SybDriver  
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)  
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)  
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)  
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)  
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)  
java.lang.Class.forName0(Native   Method)  
java.lang.Class.forName(Class.java:164)  
org.apache.jsp.testsybase_jsp._jspService(testsybase_jsp.java:86)  
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)  
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)  
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)  
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)  
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  


------解决方案--------------------
放在“你的项目/WEB-INF/lib/”下也行啊……
------解决方案--------------------
如果要配连接池,只能放common\lib下面,是不是有其他配法就不清楚了
------解决方案--------------------
一般不要把应用的jar放到 tomcat里面,减少应用对web服务的依赖

------解决方案--------------------
oobug(00bug) ( ) 信誉:100 Blog 2007-1-26 11:40:35 得分: 0
放在“你的项目/WEB-INF/lib/”下也行啊……

就是不打算放在tomcat\common\lib和/WEB-INF/lib/下的,为了减少应用对web服务的依赖,我才这么考虑的,但不晓得怎么去配置!

---------
看清楚,是放到你的项目目录下,不是tomcat的common目录下
  相关解决方案