web App libraries跟referenced libraries的一些问题

该博文内容经参看网上其他资料归纳所成,并注明出处:

问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tiancai1202000/article/details/49178721)

myeclipse,lib中的jar包无法自动加载到Web App Libraries中,即使添加了Web App Libraries这个libraries,jar包还是如法加入。

解决办法:

在.project文件中,修改使用以下内容覆盖原来的nature

org.eclipse.jem.workbench.JavaEMFNature

com.genuitec.eclipse.ast.deploy.core.deploymentnature

com.genuitec.eclipse.j2eedt.core.webnature

org.eclipse.jdt.core.javanature

org.eclipse.wst.jsdt.core.jsNature

org.eclipse.wst.common.project.facet.core.nature

org.eclipse.wst.common.modulecore.ModuleCoreNature

然后,在.settings文件夹中,加入 org.eclipse.wst.common.component 文件,内容:

   

       

       

       

       

   

问题二:jar包的存放集合介绍 JRE System Library,Referenced Libraries,Web App Libraries

参考一:https://segmentfault.com/q/1010000006146055

1.web app libararies里面的jar包是开发web app必备的一些jar包,系统指定的。
2.referenced libraries里面的jar包是系统以来的库函数的一些jar包。

参考二: http://www.cnblogs.com/dougest/p/6593667.html

JRE System Library,Referenced Libraries,Web App Libraries 这三个都是jar包的存放集合

 

JRE System Library主要存放J2SE的标准jar,一般不需要调整。

Referenced Libraries是存放第三方的jar包,也就是自己导入的jar包。在项目属性的Java Build Path中的Libraries中配置。本人理解,

这里导入和配置jar包,都是为了让web工程能够在eclipse开发环境可以正常编译,不报错而已。。如果该web工程利用eclipse生成war包,

是不会导出其jar包到WEB-INF/lib文件夹下的。

Web App Libraries的主要作用是让eclipse导出war包的时候,会把其目录下的所有jar或者项目中的工程引用都导出到WEB-INF/lib文件

夹下。Web App Libraries中的jar包在eclipse中项目属性的Java EE Module Dependencies配置的。如果你勾上了,或者添加了外部jar包,都会在WEB-INF/lib文件夹下生成。当然,如果你直接在WEB-INF/lib文件夹下,copy一个jar进入,刷新一下,Web App Libraries也会自动增加一个jar的引用。简单说,Java EE Module Dependencies的配置只针对Web App Libraries的。

参考三:http://blog.sina.com.cn/s/blog_7ffb8dd501013xfz.html

一、在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  Libraries:This 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添加即可

 

 

 

 

 

 

 

你可能感兴趣的:(web App libraries跟referenced libraries的一些问题)