文档章节

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

王虫虫
 王虫虫
发布于 2016/08/09 17:54
字数 664
阅读 5
收藏 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
web项目buildPath与lib的区别

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

liuhuics10
2015/11/27
85
0
hibernate学习笔记01--在eclipse环境下搭建hibernate框架

下载并解压 hibernate-distribution-3.3.2.GA.zip 和 slf4j-1.5.8.zip 2. 在 hibernate-distribution-3.3.2.GA 文件夹中找到: hibernate3.jar 3. 在 hibernate-distribution-3.3.2.GA/lib/......

风中海岸
2015/08/29
0
0
手动配置Hibernate的方法

前言:一直习惯用MyEclipse自动生成Hibernate,但是对手动配置一直不甚了解,都不好意思说自己是搞java的。所以赶紧复习了一下手动配置,并记录在此,以便常回来看看! 第一步:搭建环境 在H...

猴亮屏
2014/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

以太坊Token通证或者代币的真正作用是什么?

上一篇文章以太坊(Ethereum)与以太(Ether)中,你应该很好地理解以太坊是如何构建以太坊应用程序网络的,这些应用程序需要一个名为Ether的加密货币来运行。现在是时候引入一个更深层的概念...

笔阁
9分钟前
1
0
PHP - 利用P3P实现跨域

P3P是什么 P3P Platform for Privacy Preferences, 是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护。 P3P标准的构想是:Web 站点的隐私策略应该告之访问者该站点所收集的信息类型、...

hansonwong
10分钟前
1
0
传统SSM框架之微信授权登陆

1、jdbc.properties (下面瞎写的值) WEIXIN_APP_ID=wx5438496a99c8d26acbWEIXIN_APP_SECRET=d070fjcwiefhwr38942dw 2、获取配置属性 /** * @Author:Mujiutian * @Description:微信参......

木九天
10分钟前
0
0
以太坊(Ethereum)与以太(Ether)为什么容易混淆?

客观的来说,以太坊与以太这两个概念很容易混淆。 当我们听到以太坊Ethereum这个词时,我们通常会将它与加密货币(比如比特币)联系起来。虽然这个定义并不完全错误。但重要的是要理解以太坊...

geek12345
12分钟前
1
0
ROS实操笔记四 msg 和srv

msg: msg files are simple text files that describe the fields of a ROS message. They are used to generate source code for messages in different languages. srv: an srv file descr......

placido
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部