至高吴上(Alfa.wu)

一个人,一生,能坚持做好一件事情是多么的牛XX啊!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 摘自: http://blog.csdn.net/haolongabc/article/details/7007701

java基础--Jar包添加到build path方式说明--01

 

前言:这段短文是根据工作实践结合自己的理解写的,有不对的地方恳请指出,QQ:380275672.

在eclips里在工程名上右键->build path->contigure bud path->java build path里有个

libraries->add external jars

add jars

add library

add class folder

这些按钮都是做什么用的

 

分类解释这些选项的意思:

add external jars  = 增加工程外部的包
add jars = 增加工程内包
add library = 增加一个库
add class folder = 增加一个类文件夹
 
 
下面着重介绍add library中的User Libraries

添加User Library,具体做法如下:

1. 选中工程右键->build path->Add Libraries...

2. 选择User Library->next

3. 点击User Library按钮

4. 点击new按钮

5. 输入Library name(我要导入的是struts 2.1.6的jar包和jdbc的jar包,为了方便记忆,就可以用如Struts 2.1.6 Library)

6.点击ok

7.选中该user library, 然后点击add jars

8.找到对应jar包,依次确定即可。

 

User Liberary加到Eclipse中,只是eclipse中生效,就是只有Eclipse知道那些引用的类放在哪里,但是如果你要web工程启动正常,是要告诉Tomcat等容器,你的jar包是在哪里(放在lib目录下,容器就知道了)。所以就有这种情况出现,在eclipse中加用户库,只是为了调试,不加入用户库,eclipse找不到import的类,就会出现红色的X号,不把用户库中的JAR包放到lib下,容量找不到引入的类,就会报错。

 

add jar 和add external jars 与add library 中User Libraries的区别是:

通过“add jar” 和“add external jars”添加的jar包作为程序的一部分被打包到最终的程序中。通过“User Libraries”添加的jar包不是。

 

关于Jar包 build path的作用

jar包不能在随意的地方。 不管是Java Application 还是 Java Web Application 。

Java虚拟机是根据Java ClassLoader(类加载器)决定如何,到那里去加载Class :

我们之所以把jar包放在classPath下,是因为存在ClassPath ClassLoader

我们之所以可以不在ClassPath指定一些Jar包,但在Java程序中也能使用。

那是因为有ClassPath ClassLoader的父类加载器负责加载。如jrd目录下jre\lib\*.jar

我们之所以把Jar包放入webroot下的lib文件夹,并且可以在我们的程序中使用,那是容器实现了自己的ClassLoader。(Web中间件服务器类加载的机制和sun公司提供的3个默认加载器不同。)

所以说能不能加载Jar,加载哪里的Jar,是根据ClassLoader决定的。

 

posted on 2014-03-10 23:42  Alfa  阅读(14791)  评论(0编辑  收藏  举报