文档章节

WEB-INFO/lib & build path 的jar包问题

王虫虫
 王虫虫
发布于 2016/08/09 17:54
字数 664
阅读 3
收藏 0

一、build path&WEB-INFO/lib介绍

build path:可以说是引用; 
WEB-INFO/lib:可以说是固定在一个地方; 
eclipse编译项目的时候是根据build path的,如果不用eclipse来发布项目的话,就会出现找不到jar,tomcat运行项目首先是在它自己的公共lib里找jar,如果找不到的话就会去项目的WEB-INFO/lib目录找,如果找不到就报错。

 

 

build path引用的jar可以引用lib下的jar,也可以引用硬盘上任何可以访问位置上的jar,但是,我推荐把需要的jar都放到lib下,这样一旦发生jar包冲突、缺失的问题,我们可以直接到lib下查看,如果放到其它位置,检查起来则相对麻烦。 

放到lib下也是一个好习惯,引用其它位置的jar【通常某些同学喜欢用myeclipse自动添加对struts、spring、hibernate的支持】,使用这种方式,很容易造成jar包冲突、缺失的问题,尤其是团队协作的情况下,如果你引用了本地硬盘上的某个jar,提交了.classpath文件到svn,别人检出后,就会报错,因为他的硬盘上的同一位置没有这个jar,而如果你放到lib下,再提交,检出后他的lib下是有这个jar的,因为lib是工程的一部分。

 

二、复制项目,报错

因为eclipse把build path的配置写在了项目的.classpath文件中,add Extenrnal jar将jar包引入到工程,.classpath文件中的内容就会被更新,所以不就会报错。 
有时直接把jar复制到项目的WEB-INF/lib文件夹中,然后刷新项目,eclipse都会自动把jar在build path中引用。 
如果jar不是在build path里删除引用,而是自己直接把jar删除或者移到另外一个位置,刷新项目就会出现错误,要去build path里把引用删除。(导入jar包可从此导入)

 

你得首先确定你的是编译环境报错,还是程序报错。 
因为程序中只认识web-inf/lib中的包。但是编译环境不是,如果编译环境在配置中说在某个地方有它要的包,那么如果那个地方没有,也会提示警告信息。
如果要在程序中正常运行,那么不管来自那里,最后包都是放在web-inf/lib中的。 
建议还是先理解下应用程序中包的组成,如果过于依赖于IDE,很多基本的概念会不理解的。

本文转载自:http://blog.csdn.net/lhooouuu/article/details/5785507

共有 人打赏支持
王虫虫
粉丝 0
博文 95
码字总数 31028
作品 0
顺义
程序员
web项目ant打包完整案例

======================================================================================================== web项目ant打包完整案例 ================================================......

银月光海
2016/01/14
55
0
在myeclipse6.5中导入项目后需要再次导入jar包的问题

我有一个java web项目需要导入到myeclise6.5中。我在myeclipse6.5下新建了一个java web项目,然后将需要导入的src 和webroot中的内容分别导入到新项目中对应的文件夹下,编译总是报错。必须要...

liu奇峰
2012/07/28
3.3K
2
eclipse导入第三方jar包进入web项目的方法

此方式是没有用maven进行构建的项目,纯动态项目。 具体方法: 1、通过Java Build Path导入。 比如我项目上要用servlet-api.jar这个包,我所用的web容器是tomcat,那么如下操作: 项目->右键...

easonjim
2016/12/24
0
0
web项目buildPath与lib的区别

今天新建了个web项目,试了下buildPath来添加jar包,结果运行时提示找不到相关jar包;后来将jar包复制到WEB-INF/lib下,运行成功。然后在网上查了下,原来如此: Build path jars are not a ...

liuhuics10
2015/11/27
85
0
The server encountered an internal error () that prevented it from fulfilling this request.

这是我今天遇到的一个最棘手的问题,耗费了一下午的时间终于解决了。 不知道为什么,今天做这个web项目时突然遇到下面这样一个错误: type Exception reportmessagedescription The server e...

学习的小猪
2014/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IE浏览器http请求,中文传参报400错误-解决方法

做项目的时候,遇到一个小的问题.一个get请求列表数据的接口,在其它浏览器上是可以正常请求的.但是在ie浏览器上确出现奇怪的http请求400错误,其含义是你访问的页面域名不存在或者请求错误,自...

青衫旧巷
14分钟前
1
0
Spring中@RequestParam与@PathVariable的区别

@RequestParam与@PathVariable为spring的注解,都可以用于在Controller层接收前端传递的数据,不过两者的应用场景不同。 @PathVariable主要用于接收http://host:port/path/{参数值}数据。@Re...

王子城
17分钟前
0
0
数据运营者的福音:海量数据处理利器Greenplum

作者:李树桓 个推数据研发工程师 前言:近年来,互联网的快速发展积累了海量大数据,而在这些大数据的处理上,不同技术栈所具备的性能也有所不同,如何快速有效地处理这些庞大的数据仓,成为...

个推
18分钟前
1
0
进程和线程的区别介绍

1、首先是定义 进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。 线程...

linuxprobe16
19分钟前
1
0
IntelliJ IDEA 工具的学习与使用

当前标签: IntelliJ IDEA IntelliJ IDEA(十一) :Debug的使用 JaJian 2018-08-04 02:32 阅读:402 评论:0 IntelliJ IDEA(十) :常用操作 JaJian 2018-05-22 18:43 阅读:1272 评论:0 Inte......

glen_xu
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部