除了Maven,还有一种解决jar包共用及定制的好方法

浏览: 164 发布日期: 2016-12-07 分类: eclipse

使用过Maven的小伙伴都知道,必须新建Maven Project才能使用它,效果如下:

对于新手,上手还是有点难度的。同时对于个人开发的小项目(多而杂),建立一个属于自己的Repository解决jar共用和定制化加载需求,也是很有必要。探寻中,个人寻找到一个比较折中的解决办法,供大家参考使用

一、Java Build Path的Libraries

1、常见的Libraries

JRE System Library:指Java SE 的常用库文件集合,建立普通的Java项目均会使用;
Java EE 6 Libraries:指Java EE的常用库文件的集合,建立Web项目会用到这个库集合与Java SE的库文件集合;
Referenced Libraries: 指你项目中所使用的第三方库文件集合。如果你把项目所需要的其他JAR包直接加在项目->属性->Java Build Path -> Libraries 中的时候,MyEclipse 会自动将这些JAR包归类到一个集合中, 并取名为 Referenced Libraries,显示在项目中;
Web App Libraries:一般为Web Project专有的库文件集合,自动加载管理项目的WEB-INF/lib目录下jar包;
Maven Dependencies:Maven Project专有的库文件集合,通过读取pom.xml配置文件从MavenRepository加载相应的jar包;

2、Libraries的Add方法

Add Jars...:添加JAR包,是指本Eclipse当前包含的工程中的,在工程列表下选取即可;
Add External Jars...:添加外部的JAR,是指外部的,需要用文件管理器,在电脑硬盘上选取;
Add Variable...:添加变量,Eclipse的编译时用到的的环境变量;
Add Library...:添加库,是指一些已经定义好的jar的集合,因为它们经常是一起用,比如JRE System Library和Java EE 6 Libraries;
Add Class Folder...:添加类的目录,是指本Eclipse范围中的,在工程列表下选取接口;
Add External Folder...:添外部加类的目录,需要用文件管理器,在电脑硬盘上选取;

二、.classpath文件

.classpath实际是一个XML格式的配置文件,<classpath>... ...</classpath>这个标签中存放的便是classpath的信息,它一般包含以下五种形式:
1.<classpathentry kind="src" path="src"/>:指定source folder类型的目录,kind="src"表示这个classpath的类型,path表示在项目中的路径,path使用根目录的相对路径(相对.classpath文件本身的相对路径)
2、<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">:指定程序的JRE运行环境,kind="con"表示classpath的类型,con即是container,就是程序运行的容器,或者就说是运行环境
3、<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>:指定程序运行时的容器,一般情况下是java web项目才会有,它是包含了J2EE服务器要使用到的一些jar包, 这句是kind="con"当然和上条一样,是表示运行时的容器
4.<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>:指定第三方jar包加载的路径,kind="lib"表示classpath中的库文件,path指定库文件的路径,同样是相对与项目根目录的相对路径
5、<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>:指定项目的编译输出目录,在java web中也就是WebRoot/WEB-INF/classes,同样使用的path是相对项目根目录的相对路径(相对.classpath文件本身的相对路径)

三、Eclipse设置jar共用及定制的好方法

通过设置主要解决以下几个问题:
1、同一个jar包在各项目中共用加载
2、jar包在各项目中自定义加载
3、

返回顶部