您的位置:首页 > 编程语言 > Java开发

eclipse中几种加入jar包方式的区别的简介与内容

2013-03-08 19:02 337 查看
1、jar导入到web项目中的classpath下三种方式

1)这里呢,一种方法是,直接用MyEclipse里自带的相关的项目jar包,右击项目“MyEclipse”菜单,选择对应的jar包就OK了,例“Add Spring Capabilities”,并且可以设置Spring的一些配置信息,不错的可视化操作;

2)添加外部的jar包到web项目的lib包下,右击项目“Properties”-->“Java Build Path”-->“Libraries”选项卡;

3)自己手动拷贝jar文件到项目的lib包下,具体操作只要把要添加的jar文件拷贝到MyEclipse中的workspace下的lib包里就好了;

添加后都要通过F5刷新,才能在列表中显示。

2、三种jar包添加方式区别

1)这种方式,jar文件直接链接到MyEclipse的文件下,并没有拷贝到WEB-INF/lib目录下,不得用项目的发布、移植,可能会出现jar找不到的情形;

2)选择性比较的强,可以随意的加jar包,只要在你本机存在就可以了,链接的也是jar文件的绝对路径,缺点同1;

3)直接添加到WEB-INF/lib目录下,移植性强,可操作性也强。

有的时候直接加入到WEB-INF/lib目录下会出现eclipse中不识别的现象,这时候可以通过手动添加来解决问题

因为Java Build Path是我们编译需要的包,在比如在import ***.***.***时如果没用Java Build Path导入包的话类里面就有红叉,

说不识别这个类;导入到lib下是程序运行时需要的包,即便用Java Build Path导入过的包,没放到lib下,

运行项目时会出现ClassNotFoundException的异常。

解决方法:右击项目“Properties”-->“Java Build Path”-->“Libraries”选项卡--->选中web app libraries--->点add jars--->找到你的jar包--->确定

在Eclipse工程的Java Build Path设置中,可以通过加入第三方的jar包,但是,我发现是有好几种方法来完成这个操作的,有“Add
jars”,“Add Externel jars”,“Add library”,“Add Classes Loader”等,这几种方式有什么区别吗?


add jar是表示从你的工程里添加JAR,前提是你把jar已经放到自己的工程目录里。

add external jar表示这个jar的位置需要URI来定位,需要给出全路径。

add library 是一些已经定义好的jar的集合,因为它们经常是一起用,所以简化了些操作,比如你做RCP开发的时候就会有个plugin library包含了运行工程所需要的基本插件。

Add classes Loader -- 这个应该是 add class folder吧?这个跟添加jar是一个意思,就是告诉ClassLoader去哪找class

我们在开发过程中会接触到两种环境,一是开发环境(对应eclipse中的类路径),二是运行环境(对应应用服务器中的类路径)。

这时两个环境中jar包的关系就比较复杂了。这时处理jar包间的关系的总体原则是要保持这两个环境中jar包的版本一致或者兼容。

在项目WEB-INF\lib目录中的jar包是两个环境中共用的部分。这部分jar包要求不能和两个环境中的jar包有冲突,也就是说lib目录下的jar包是和两个环境中的jar包互补的。而两个环境中的jar包原则上应该是相同的或者兼容的。

例如在MyEclipse下开发javaEE项目,我们会用到javaEE相关的jar包javaEE.jar,这时的需求是开发环境的需求。但在应用服务器环境中就不需要这个jar,因为应用服务器中会有相关的javaEE的jar包。这时如果我们将项目发布到应用服务器环境中,就会发生jar包冲突的情况。可是我们在开发时还要用这个包,发布时还不能发布到应用服务器中,这怎么办呢? 解决的办法如下:

在eclipse中加入这个jar包(这个jar包当然不在项目目录中了),eclipse会提示:

Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.

Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.

 

因为我们这时候确认这个jar包是不需要部署到应用服务器环境中的(如果需要就直接放到lib目录下就可以了,就不用费这个事了),所以我们做如下操作,解除eclipse这种依赖关系的提示:

点中提示信息-->右键-->Quick
fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.

点中提示信息-->右键-->Quick
fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.

这样就解除了,jar包的依赖,发布的时候就不会在项目中出现这个jar包了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: