今天研究了下java的引入jar包机制:
javase项目中:引入sqljdbc4.jar
直接windows资源管理器文件夹下复制这个jar包到项目中是不能用的(看第5步),需要采用在项目中引入的方式:
1.右击项目,选择Build Path
|------Link Source:导入其他目录中的源文件
|------New Source Folder:创建一个存放源文件的目录
|------Use as Source Folder:使用源文件夹
|------Add External Archives:添加外部档案,本选项可用于添加jar包
|------Add Libraries:添加库,用户可以将自己的jar包全添加到一个库中,库可以得到复用
|------Configure Build Path:配置构建路径,打开java Build Path界面
|------Source选项中包含了Link Source和New Source Folder还有删除源文件目录的选项
|------Projects选项可以添加和删除其他项目
|------Librariea选项
|------Add JARs:添加其他项目中的文件,不能是目录
|------Add External JARs:和Add External Archives功能相同
|------Add Variable
|------Add Library:和Add Librarie功能相同
|------Add Class Folder:添加可执行文件目录
|------Add External Class Folder:添加外部可执行文件目录
|------Edit:修改
|------Remove:删除
|------Migrate JAR File
|------Order and Export选项可用于调整目录结构
2.第一步是为了让大家看下Build Path里的功能,现在退出第一步,找到项目所在的windows资源管理器文件夹所在的位置,可以看到在Eclipse工作目录中有一个和项目同名的文件夹,那个就是我们创建的项目了,双击进入可以发现除了我们在Eclipse中看到的src还有一个.settings文件夹和一个bin文件夹,一个.classpath文件和一个.project文件,bin文件夹使用来装可执行文件的,.settings文件夹中有一个org.eclipse.jdt.core.prefs文件,通过文本编辑器打开可以看到貌似是一些eclipse的配置信息,.classpath文件通过文本编辑器打开可以猜想是该项目的classpath目录,项目中用到的类都会来这里找,.project文件通过文本编辑器打开看起来像项目的配置信息。打开这三个文件。
3.选择Add External Archives选项,然后找到sqljdbc4.jar选择打开将jar包添加到项目中,这时项目中会多一个Referenced Libraries目录,作为参考,但是这个时候再去看刚才打开的三个文件发现org.eclipse.jdt.core.prefs文件和.project文件没有变化.classpath文件中多了一行:<classpathentry kind="lib" path="D:/sqljdbc_4.0.2206.100_chs/sqljdbc_4.0.2206.100_chs/sqljdbc_4.0/chs/sqljdbc4.jar"/>可以看出这行是刚才添加的sqljdbc4.jar文件所在的windows资源管理器中的绝对路径(本人这个有点长)。
4.通过以上的结论我们可以做一个实验,换一个工作目录或者在本工作目录中都可以,删除掉sqljdbc4.jar文件,我们发现Eclipse报错了,这样说明了在javase项目中通过Add External Archives方式引入的jar包没有copy到项目中,而是去你工作的计算机中找,这样当我们将项目拿到别的机器上用时,项目中的jar包便不存在了。
5.解决上面问题的方式是在eclipse项目目录中添加一个lib文件夹,然后将jar包复制到这个文件夹中,项目移走的话这个文件夹和里面的jar包也会跟着移走,这个时候那个jar包是不能用的,需要右键jar包-->Build Path-->Add to Bulid Path
=================================================================
下课了,未完待续