`
caishenfans
  • 浏览: 2060 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MyEclipse中分别通过buildpath和lib导入jar包的区别

 
阅读更多

第一篇博文 纪念一下 我这个记性实在不好 所以以后会把学习中遇到的问题和解决的办法记在这里 聚沙成塔 积水成渊吧 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

1
4
分享到:
评论
1 楼 java_xiaoyi 2011-08-07  
呵呵,这倒还真没注意过...不过善于积累是好的。

相关推荐

    MyEclipse加载Selenium插件包

    加载方法 1.新建工程,右键-&gt;BuildPath-&gt;ConfigureBuildPath-&gt;Libraries-&gt;AddExternalJars 2.引入解压后此包下3个jar包及lib下所有包 即成功

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    附加:在项目名称的右键后进入Properties然后进入Java Build Path后查看加载的jar包。 具体项目的开发详细文档请见下一篇文章《struts+hibernate+spring项目开发示例》 Myeclipse平台struts+hibernate+spring项目...

    struts2核心类库

    struts2常用Jar包,请解压后,将jar包放到webinf/lib目录下,或myeclipse的java build path下

    Java-中有两种方式连接oracle数据库-个人成功例子

     java工程(java_oracle)—&gt;右键属性(Properties)-&gt;Java Build Path-&gt;Libraries-&gt;Add External JARs-&gt;添加oracle安装目录C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib下的“ojdbc6_g.jar”文件;...

    Java项目开发与毕业设计指导

    如果不能运行,将ch07文件夹下的swt.jar加入构建路径,然后在运行中的JVM参数中加入-Djava.library.path="dll所在目录的绝对路径"即可。 也可以在命令行下直接运行该程序,假设ch07文件夹放在D盘跟目录。则在cmd下...

    struts 2.0 源码 第三章

    如果为了可以编译和运行Java程序,还应该在PATH环境变量中增加%JAVA_HOME%/bin。其中JAVA_HOME代表JDK(不是JRE,不是J2EE)的安装路径;J2EE_HOME指J2EE SDK安装路径——在系统中增加JAVA_HOME和J2EE_HOME两个环境...

    struts2.0 第五章 第1,2节

    如果为了可以编译和运行Java程序,还应该在PATH环境变量中增加%JAVA_HOME%/bin。其中JAVA_HOME代表JDK(不是JRE,不是J2EE)的安装路径;J2EE_HOME指J2EE SDK安装路径——在系统中增加JAVA_HOME和J2EE_HOME两个环境...

    java 混淆工具,不可逆 jocky 也许是最好的了

    事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...

    cms后台管理

    另导入common-lib下的jar包,删除jeecms-cms- identity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-core- identity-3.0.2-final.jar这三个jar包,切记:务必进行build path 3.修改jdbc链接,自己...

    Android购物网站源代码,安卓商城购物源码,安卓APP源码商业版

    文件夹 PATH 列表 卷序列号为 78014EE3 3CD2:D088 C:. │ 041501 (1).png │ 041501 (2).png │ javaapk.com文件列表生成工具.bat │ JavaApk源码说明.txt │ 点这里查看更多优质源码~.url │ 目录列表.txt │ ├─...

Global site tag (gtag.js) - Google Analytics