您的位置:首页 > 产品设计 > UI/UE

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

2014-07-17 23:04 232 查看
前言:这段短文是根据工作实践结合自己的理解写的,有不对的地方恳请指出,QQ:380275672.

在eclips里在工程名上右键->buildpath->contigurebudpath->javabuildpath里有个

libraries->addexternaljars
addjars
addlibrary
addclassfolder
这些按钮都是做什么用的

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

addexternaljars=增加工程外部的包

addjars=增加工程内包

addlibrary=增加一个库

addclassfolder=增加一个类文件夹




下面着重介绍addlibrary中的UserLibraries

添加UserLibrary,具体做法如下:
1.选中工程右键->buildpath->AddLibraries...
2.选择UserLibrary->next
3.点击UserLibrary按钮
4.点击new按钮
5.输入Libraryname(我要导入的是struts2.1.6的jar包和jdbc的jar包,为了方便记忆,就可以用如Struts2.1.6Library)
6.点击ok
7.选中该userlibrary,然后点击addjars
8.找到对应jar包,依次确定即可。

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

addjar和addexternaljars与addlibrary中UserLibraries的区别是:

通过“addjar”和“addexternaljars”添加的jar包作为程序的一部分被打包到最终的程序中。通过“UserLibraries”添加的jar包不是。

关于Jar包buildpath的作用:
jar包不能在随意的地方。不管是JavaApplication还是JavaWebApplication。
Java虚拟机是根据JavaClassLoader(类加载器)决定如何,到那里去加载Class:
我们之所以把jar包放在classPath下,是因为存在ClassPathClassLoader
我们之所以可以不在ClassPath指定一些Jar包,但在Java程序中也能使用。
那是因为有ClassPathClassLoader的父类加载器负责加载。如jrd目录下jre\lib\*.jar
我们之所以把Jar包放入webroot下的lib文件夹,并且可以在我们的程序中使用,那是容器实现了自己的ClassLoader。(Web中间件服务器类加载的机制和sun公司提供的3个默认加载器不同。)
所以说能不能加载Jar,加载哪里的Jar,是根据ClassLoader决定的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: