https://www.cnblogs.com/liaojie970/p/5391044.html
java基础–Jar包添加到build path方式说明–01
https://www.cnblogs.com/wuyifu/p/3592995.html
MyEclipse中分别通过buildpath和lib导入jar包的区别

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

这个问题早就发现了 但今天想搞清楚是为什么
今天写一个小项目 通过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.Http11AprProtocolHttp11ConnectionHandler.process(Http11AprProtocol.java:579)atorg.apache.tomcat.util.net.AprEndpointHttp11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpointHttp11ConnectionHandler.process(Http11AprProtocol.java:579)atorg.apache.tomcat.util.net.AprEndpointWorker.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
比如 这样在浏览器里敲localhost:8080/vote 就相当于直接访问我docBase所指定的路径
而MyEclipse自动部署的时候 会把工程复制到tomcat的webapps目录下面 同时会把用buildpath引入的jar包 自动放在lib里面
所以如果用MyEclipse部署tomcat的话 这两种导入JAR包的方式是没区别的 但我这种部署的方法 他不会自动把jar包复制到lib下面 所以就出现了这个问题
现在想想 对于我这种方法来说 buildpath的引入能保证写代码的时候不会出编译问题 但是由于tomcat运行是会在他的lib目录下面找相应的JAR包 所以运行的时候会出classnotfoundexcption

build path功能详解 在项目上右键》Build path》Config build path相关推荐

  1. 史上最全Android build.gradle配置详解

    Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的.当我们创建一个Android项 ...

  2. 【毕设项目】新闻推荐平台功能详解----新闻推荐系统

    系列目录 基于Python网络爬虫与推荐算法新闻推荐平台 新闻推荐平台功能详解----新闻爬虫 新闻推荐平台功能详解----数据分析系统 文章目录 系列目录 功能介绍 一.结构 二.具体实现 1.标签 ...

  3. iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例

    使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWRevealViewController实现侧边菜单功能: 1.使用StoryBoard实现 2.纯代码实 ...

  4. Android build.gradle文件详解(转述自《Android第一行代码》第二版)

    Android build.gradle文件详解 1. 最外层目录下的build.gradle文件 1.1 repostories 1.2 dependencies 2. app目录下的build.g ...

  5. Git详解之四 服务器上的Git

    Git详解之四 服务器上的Git 服务器上的 Git 到目前为止,你应该已经学会了使用 Git来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git仓库.尽管技术上可以从个人的仓库里推送和拉 ...

  6. UWA Pipeline 功能详解|如何快速创建UWA服务

    今天为大家详细介绍的是如何在一条UWA Pipeline内快速创建UWA服务,包括自动化测试.GOT Online测试.真人真机测试.本地资源检测服务,让UWA性能保障体系无缝融入到项目工业化之中,进 ...

  7. KBQA_多轮对话——模型源码解析(一)Pickle模块功能详解

    KBQA_多轮对话--模型源码解析(一)Pickle模块功能详解 pickle --- Python 对象序列化的基本功能 1.pickle基本概念 2.pickle 与 json 模块的比较 3.p ...

  8. IOS视频编辑功能详解下篇-视频裁剪、视频拼接、音视频的处理

    转自:http://www.hudongdong.com/ios/550.html 前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUI ...

  9. Android Studio build.gradle配置详解

    Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的.当我们创建一个Android项 ...

最新文章

  1. Microsoft Anti-Cross Site Scripting Library V1.5 发布了
  2. listFiles()
  3. [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例
  4. .NET 的 WCF 和 WebService 有什么区别?(转载)
  5. Jmeter系列之接口断言
  6. 关于oracle自动编号
  7. 软件测试的目的和原则
  8. bzoj 3332 旧试题
  9. Unity5.3官方VR教程重磅登场-系列5 VR中的运动
  10. java 休眠_Java中 休眠(sleep)
  11. Ubuntu18.04安装ceres-solver
  12. 计算机网络原理第七章——Internet 原理
  13. 104键键盘布局高清示意图
  14. 可解释性研究 -LRP-for-LSTM
  15. Unity3D 背景动态模糊(blur)和截屏方法
  16. wms、wmts、wfs等地图服务区别
  17. 苹果教你如何保持iPhone电池健康、延长电池寿命
  18. item_search_shop - 获得店铺的所有商品
  19. 安规测试 之耐压测试
  20. 健康管理的营利模式及体系构建

热门文章

  1. 在 E:\db\Custom\201610211635.bak 上读取失败: 38(已到文件结尾。) (Microsoft SQL Server,错误: 3203)
  2. 洛谷 P2657 (数位DP)
  3. 第1关:创建第一个 HTML 标签
  4. 本地方法栈 程序计数器 方法区
  5. matlab函数im2bw_im2bw(matlab中im2bw用法)
  6. 学生学籍管理系统简单设计(中)
  7. 【手写ICP】ICP -SVD 手动实现与例程(上)
  8. 仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))...
  9. 香港千兆宽带每月160元 内地网民称伤不起
  10. 銀織の雷使い(プレメア) / 银雷(异时层机娘)