MyEclipse 中各种 libraries 的含义

 
    JRE System Library,Java EE 5 Libraries,Referenced  Libraries这三个都是各种JAR包(库文件)的集合名称,名称可以任意取,只不过这是MyEclipse默认的名字罢了。
    JRE System Library:指Java SE的常用库文件集合,建立普通的Java项目均会使用;
    Java EE 5 Libraries:指Java EE的常用库文件的集合,建立Web项目会用到这个库集合与Java SE的库文件集合;
    Referenced  Libraries:指你项目中所使用的第三方库文件集合。如果你把项目所需要的其他JAR包直接加在项目->属性->Java Build Path->Libraries中的时候,MyEclipse会自动将这些JAR包归类到一个集合中,并取名为Referenced  Libraries,显示在项目中。
    Referenced  Libraries是编译环境下使用的JAR包。所谓编译环境下使用的JAR包,就是说你在MyEclipse中进行源文件的编写时,所需要引用的类都从Referenced  Libraries这个集合中的JAR包中获取。
    WebRoot /web-inf/lib中的JAR包是运行时环境下使用的JAR包。所谓运行时环境下使用的JAR包,就是说你在运行你的项目的时候所需要使用的JAR包的集合。
 
    Java中的JAR文件是如此的重要,以至于没有他们,我们就不能做出如此艺术的程序:封装、模块化、复用等等(无ant、marven方式)。今天,我就来整理一些有关项目中的jar包添加管理的方法以及常见问题的解决:
 
1、jar导入到我们的web项目中的classpath下
 
     1)这里呢,一种方法是,直接用MyEclipse里自带的相关的项目jar包,右击项目“MyEclipse”菜单,选择对应的jar包就OK了,例“Add Spring Capabilities”,并且可以设置Spring的一些配置信息,不错的可视化操作;
 
     2)添加外部的jar包到web项目的lib包下,右击项目“Properties”-->“Java Build Path”-->“Libraries”选项卡(当然了,此操作下,不仅仅这一种添加jar包的方式);
 
     3)自己手动拷贝jar文件到项目的lib包下,具体操作只要把要添加的jar文件拷贝到MyEclipse中的workspace下的lib包里就好了;
 
    至此,jar文件的添加就OK了,so easy!jar文件是加进去了,但这几种有什么区别呢?以后如何管理呢?接下来看看第2点。
 
2、三种jar包添加方式都行得通,很OK,那么要如何择决呢?
 
     1)使用这种方式,jar文件直接链接到MyEclipse的文件下,并没有拷贝到WEB-INF/lib目录下,不得用于项目的发布、移植,可能会出现jar文件找不到的情形。
 
     2)选择性比较强,可以随意添加jar包,只要你本机存在就可以了,链接的也是jar文件的绝对路径,缺点同1。
 
     3)直接添加到WEB-INF/lib目录下,移植性强,可操作性也强。
 
    总而言之,第3)种jar包导入方式,个人觉得还是不错的!
 
3、显示/隐藏项目里的jar文件
 
     不同的开发人员,都有着他固有的习惯,有的人就觉得把jar包显示在开发视图里太碍眼,看起来不舒服。而有些人,他就想研究看看到底运用了哪些技术,导入了哪些jar包,并且通过点击jar包里的class文件直接查看源码(假设先前有导入源码)。所以呢,这里就牵涉到了一个jar包的显示与隐藏问题了:在Package Explorer这个窗体中,右上角有个下拉小三角,点击-->“Filters”-->“Name filter patterns(matching names will be hidden)”,在这一选项下填有*.jar,勾上复选框即表示这一类的文件不显示,多个类型之间可用“,”分隔。
 
4、在Eclipse工程的Java Build Path设置中,可以加入第三方的jar包。但是,我发现是有好几种方法来完成这个操作的,有“Add jars”,“Add Externel jars”,“Add library”,“Add Classes Loader”等,这几种方式有什么区别吗?
 add jars表示从你的工程里添加JAR,前提是你把jar已经放到自己的工程目录里。
 add external jars表示这个jar的位置需要URI来定位,需要给出全路径。
 add library是一些已经定义好的jar的集合。因为它们经常是一起用,所以简化了一些操作。比如你做RCP开发的时候就会有个plugin library包含了运行工程所需要的基本插件。
 Add classes Loader:这个应该是add class folder吧?这个跟添加jar是一个意思,就是告诉ClassLoader去哪找class。
 
5、当出现类似java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener这种找不到Listener的异常时,要切记spring的jar包一定要放在工程的lib下,这样才能避免这个错误的发生。
 
补充:虽说无论用什么方式导入包在本地运行都是一样的,但事实上我运行时,有的只有Java Build Path才起作用,有的只有导入到lib下才行。用Java Build Path导入包和把包复制到lib下是有区别的,它俩其实不会冲突,也没有什么关系。Java Build Path是我们编译需要的包,比如在import ***.***.***时如果没用Java Build Path导入包的话类里面就有红叉,提示不识别这个类;导入到lib下是程序运行时需要的包。即便Java Build Path导入过的包,没放到lib下,运行项目时也会出现ClassNotFoundException的异常。

MyEclipse 中各种 libraries 的含义的更多相关文章

  1. Myeclipse项目工程目录中各种Libraries的含义

    MyEclipse工程目录下一般会有以下几类Libraries,如图: 各种Libraries的含义如下: JRE System Library:Java SE 的常用库文件集合,构建任何Java项目 ...

  2. ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题

    ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ...

  3. MyEclipse中关于JRE System Library、Web App Libraries的疑惑

    简要说明一下:其实,这三个都是jar包的存放集合. 1.JRE System Library主要存放J2SE的标准jar,一般不需要调整. 2.Referenced Libraries是存放第三方的j ...

  4. myeclipse中source not found问题解决办法

    myeclipse中出现source not found是因为你所引用的JavaEE Generic Library没有关联源码,如下图: 下面给出该问题的解决办法: 步骤一:去下载apache-to ...

  5. Nutch2.2.1在MyEclipse中的安装(window7环境)

    在https://svn.apache.org/repos/asf/nutch/branches/branch-2.2.1/网址里面可以找到Nutch2.2.1版本的资源文件. 1. 在MyEclip ...

  6. 5- 如何把MyEclipse中的web项目导入到Eclipse中运行

    from: 如何把MyEclipse中的web项目导入到Eclipse中运行 2016年09月12日 20:57:51 dancheren 阅读数:35329 标签: eclipse 更多 个人分类: ...

  7. 如何把MyEclipse中的web项目导入到Eclipse中运行

    有时我们需要将MyEclipse中的项目导入到Eclipse中运行,如果不注意到一些细节,会造成无法运行的后果.下面就说说具体操作: 如何导入到Eclipse就不在重述了,导入后出现如下错误: 与上面 ...

  8. Myeclipse中进行JUnit单元测试

    最近学习了在myeclipse中进行单元测试,写点东西总结总结. JUnit单元测试: 测试对象为一个类中的方法. juint不是javase中的部分,所以必须导入jar包,但是myeclipse自带 ...

  9. (转)图文详解MyEclipse中新建Maven webapp项目的步骤

    转:https://blog.csdn.net/ClementAD/article/details/46592557 MyEclipse中创建新的Maven项目(webapp目录结构)过程如下:   ...

随机推荐

  1. Python 编程小备忘

    1. 获取当前日期,或者间隔当前任意天的日期. >>> import datetime>>> print (datetime.date.today()-dateti ...

  2. SPOJ ORDERSET - Order statistic set

    ORDERSET - Order statistic set   In this problem, you have to maintain a dynamic set of numbers whic ...

  3. Leetcode 132. Palindrome Partitioning II

    求次数的问题一般用DP class Solution(object): def minCut(self, s): """ :type s: str :rtype: int ...

  4. ecshop 重置后台密码 MD5+salt

    ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加 ...

  5. 【BZOJ-1324】Exca王者之剑 最小割

    1324: Exca王者之剑 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 483  Solved: 248[Submit][Status][Disc ...

  6. Zabbix3.2安装部署

    zabbix server 前提环境: CentOS6 Lnmp php需要的包(bcmath,mbstring,sockets,gd,libxml,xmlwriter,xmlreader,ctype ...

  7. sublime配置java编译环境

    Windows下配置Sublime Text3的Java环境 字数507 阅读2301 评论2 喜欢2 Sublime Text3是一个比较好用的IDE.截图如下: java环境截图 下面就简单介绍下 ...

  8. “K米” 软件产品评测

    第一部分 调研,评测 评测: 第一次上手体验:KTV相信很多人都有去过,大部分包厢只有哦一个点歌台,相信很多人都会烦恼于一堆人挤在小小的点歌台前点歌的样子,还有些人不太好意思跑到点歌台点歌,常常是碰到 ...

  9. Linux 中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:    find命令        f ...

  10. CSS--值和单位

    等价颜色表 什么叫Web安全色 所谓的“web安全”颜色是指在256色计算机系统上总能避免抖动的颜色. Web安全颜色可以表示为RGB值为20%和51(相应的十六进制值为33)的倍数. 如果使用RGB ...