第一篇博文 纪念一下 我这个记性实在不好 所以以后会把学习中遇到的问题和解决的办法记在这里 聚沙成塔 积水成渊吧 csdn和这里都有博客 希望能与更多人交流吧
这个问题早就发现了 但今天想搞清楚是为什么
今天写一个小项目 通过buildpath导入MySQL的驱动jar包 结果编译没问题 运行出错 (而且在.classpath文件里面是有我引入jar包的路径的)
java.lang.ClassNotFoundException:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:662)
?然后又把JAR包复制到了WEBROOT 里面的 lib目录下 结果可以了?
但如果只把JAR包放在lib文件夹下 那我用到的jar的代码 ?直接就会没法通过编译(找不到包)
就是说 二者缺一不可 这是为什么呢?这两种方式究竟有什么区别?
在网上找了一下 也没发现原因 ?比较权威的说法是这两种导入没什么区别 很奇怪 搞到三点我就去睡了
今天起来 跟群里的人讨教这个问题 然后无意间想起了?我部署TOMCAT用的是修改server.xml文件这个方法?不是用MyEclipse的自动部署 也就是我在server.xml文件里面加上 path 和docBase
比如?<Context path="/vote" docBase="D:\My Documents\Workspaces\MyEclipse 8.6\VotingSystem\WebRoot" reloadable="true" /> ?这样在浏览器里敲localhost:8080/vote 就相当于直接访问我docBase所指定的路径?
而MyEclipse自动部署的时候 会把工程复制到tomcat的webapps目录下面 同时会把用buildpath引入的jar包 自动放在lib里面?
所以如果用MyEclipse部署tomcat的话 这两种导入JAR包的方式是没区别的?但我这种部署的方法 他不会自动把jar包复制到lib下面?所以就出现了这个问题
现在想想 对于我这种方法来说 buildpath的引入能保证写代码的时候不会出编译问题 但是由于tomcat运行是会在他的lib目录下面找相应的JAR包 所以运行的时候会出classnotfoundexcption
详细解决方案
MyEclipse中诀别通过buildpath和lib导入jar包的区别
热度:50 发布时间:2016-04-23 12:30:11.0
1 楼 java_xiaoyi 2011-08-07
呵呵,这倒还真没注意过...不过善于积累是好的。
相关解决方案
- MyEclipse 连接tomcat 出现如上异常
- Myeclipse 注册码生成器 源码 亲测
- MyEclipse 上配置tomcat遇到的有关问题
- myeclipse 左侧的目录结构变了 如何改回来
- MyEclipse 中 jsp页面编译报错有关问题
- MyEclipse 8.5怎么使用JeasyOPC
- myeclipse 8一个使用有关问题
- Myeclipse 运行tomcat时出现 以上提示
- SSH+Myeclipse,Tomcat运行时出错,是什么原因啊多谢
- MyEclipse lib 目录上的jar包不能自动识别
- ()关于web project与java project的有关问题(MyEclipse)
- myEclipse SVN链接不下,求大侠们解答
- myeclipse 怎么集成jbpm5
- struts1 myeclipse tomcat 从页面失去乱码
- myeclipse<%@ taglib prefix="c" uri="http://java.sun.com/jst1/core_rt"%>解决思路
- Myeclipse+tomcat开发web项目编译成功后可以不用在浏览器输入吗解决方法
- myeclipse javascript代码不执行,灰色的解决方法
- myeclipse 6 集成svn插件 建资源库报错咋解决啊解决办法
- myeclipse web项目中 引入的很多jar包无法展开解决方法
- 求高手解决~myeclipse/tomcat搭web网站的有关问题,非常感谢~
- 现下公司里开发用的 Eclipse + MyEclipse + Tomcat + JDK 都是什么版本的
- 求 myeclipse blue 6.5 注册码解决方案
- 现时公司里开发用的 Eclipse + MyEclipse + Tomcat + JDK 都是什么版本的
- MyEclipse JAVA向MYSQL导入与导出,出现中文乱码的有关问题!
- MyEclipse 显示代码提示的时间,该怎么解决
- MyEclipse 8.5开发时的揭示快捷键是什么
- Myeclipse 中的节点有关问题
- MyEclipse 打包jar文件,cmd下可运行,但是双击不能运行、解决方案
- Myeclipse 10.1上载与破解
- myeclipse tomcat启动,内存溢出有关问题