解决Eclipse环境变量中的Web App Libraries下没有jar包的问题

     今天帮同事调一个项目,里面满是类编译错误,一看就是相应的jar包没有引入,打开build path->configure build path,发现Web App Libraries下没有任何jar包。理应Web App Libraries下包含工程目录\WebContent\WEB-INF\lib下的所有jar包,于是查看了这个目录,发现这个项目的包目录是这样的:工程目录\src\main\sample\WEB-INF\lib,问题显然就出在这里了,找了半天,没有找到在哪里配置这个路径,最后,在工程目录的.settings文件夹中org.eclipse.wst.common.component找到了相关配置,原来的配置是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="test">
        <wb-resource deploy-path="/" source-path="/WebContent"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="context-root" value="test"/>
        <property name="java-output-path" value="build/classes"/>
    </wb-module>
</project-modules>

修改后变为:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="test">
        <wb-resource deploy-path="/" source-path="/src/main/sample/"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="context-root" value="test"/>
        <property name="java-output-path" value="build/classes"/>
    </wb-module>
</project-modules>

 然后在eclipse中刷新工程,问题解决。



MyEclipse 中各种 libraries 的含义

一、在Myeclipse中新建项目一般会有下列四种libraries:
  JRE System Library  , java EE 6 Libraries ,  Referenced  Libraries,Web App  Libraries



二、各种libraries含义

  JRE System Library:   指Java SE 的常用库文件集合,建立普通的Java项目均会使用;




 
java EE 6 Libraries:   指Java EE的常用库文件的集合,建立Web项目会用到这个库集合与Java SE的库文件集合;

  Referenced  Libraries:  指你项目中所使用的第三方库文件集合.如果你把项目所需要的其他JAR包直接加在 项  目->属性->Java Build Path -> Libraries 中的时候,MyEclipse 会自动将这些JAR包归类到一个集合中, 并取名为  Referenced  Libraries , 显示在项目中.

       问: 经常在SSH中出现jar包冲突 不知是Referenced  Libraries 中的jar文件冲突 还是 WebRoot /web-inf/ lib 下jar文件冲突???

      解答编译期冲突是由Referenced  Libraries中jar包冲突引起;运行期冲突是由  WebRoot /web-inf/ lib 下jar文件冲突引起的。首先 Referenced  Libraries可以是引用 WebRoot /web-inf/ lib下的jar包,也可以是其他从别的地方复制过来的第三方jar包。 Referenced  Libraries是编译环境下使用的JAR包,
所谓编译环境下使用的JAR包, 就是说你在Eclipse中进行源文件的编写的时候,
所需要引用到的类都从Referenced  Libraries这个集合中的JAR包中拿;

WebRoot /web-inf/lib中的JAR包是运行时环境下使用的JAR包,
所谓运行时环境下使用的JAR包,就是说你在运行你的项目的时候所需要使用的JAR包的集合;

注意区分两种环境:编译环境与运行环境.


   Web App  LibrariesThis container dynamically manages classpath entries for types in the WEB-INF/lib and WEB-INF/classes directories. 相信有点英语基础的的人都能看的懂。

   关于web项目没有看到Web App  Libraries,可以通过右键项目/built path/Configure built path/点击libraries标签  选择右边的add  library按钮 ,在弹出的窗口中选择Web App  Libraries添加即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值