WEB-INFO/lib & build path 的jar包问题
2016-08-09 00:00
441 查看
一、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,很多基本的概念会不理解的。
相关文章推荐
- WEB-INFO/lib & build path 的jar包问题
- Eclipse 将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下
- WEB-INFO/lib & build path 的jar包问题
- jar包放在WEB-INF/lib下和config build path的区别
- WEB-INFO/lib & build path 的jar包问题
- WEB-INFO/lib & build path 的jar包问题
- WEB-INFO/lib & build path 的jar包问题
- WEB-INFO/lib & build path 的jar包问题
- Maven项目缺少eclipse自带的插件项目需要建立lib目录加上jar包,或者是已经生成有的, 然后 右键build path add libraries web app libraries
- Missing classpath entry ..../server/default/lib/mail.jar(类似问题同解)
- Myeclipse中Struts2运行问题:Could not create JarEntryRevision for [jar:file:/E:/Java/Tomcat%206.0/webapps/Struts2.1/WEB-INF/lib/struts
- tomcat5的common/lib目录下jar包和WEB/lib下jar包冲突问题
- 关于jar包add to build path与放入lib下的区别
- eclipse buildpath的jar包不能复制到tomcat lib下的问题
- maven管理Java web项目WEB-INF/lib中jar包不能被引入的问题解决
- m2e使用问题——发布web项目时lib目录下的jar包未发布
- INFO: validateJarFile(/webapp/custom-service/WEB-INF/lib/javax.servlet-api-3.0.1.jar) - jar not load
- maven编译,使用WEB-INFO/lib下的Jar包
- 解决 eclipse 在编译 打包 部署 maven 项目的时候 WEB-INF/lib 为空 没有 jar的问题
- myeclipse+tomcat jar包冲突导致jsp编译问题及/WEB-INF/lib/ servlet-api.jar) - jar not loaded 问题