在稍大型的j2ee项目中一般都会分模块、分包,比如抽成公共的模块、API模块,将这些模块分成不同的项目由各个不同的人或小组进行开发维护。这样就会在一个项目中依赖引用另一个项目的类库和资源,经常会要在项目中引用其他的关联项目。在发布的时候需要将引入的项目打成jar包放入到需要引用的项目中。
以下以一个真实项目的例子说明如何在eclipse中引用关联项目。
工程项目规划如下:
webportal-frame是框架工程一些框架底层代码的封装,所有的工程都要依赖它。
webportal-utils是常用工具的工程。
chp_api是接口API层,chp_manage、chp_provider、chp_wap工程都会引用它
chp_dao是接口的dao层,chp_provider工程会引用它。
chp_provider是服务提供层。依赖webportal-frame、chp_api、chp_dao
chp_wap是wap和web的展现层。提过调用chp_provider提供的dubbo服务获取数据进行展现,依赖webportal-frame、chp_api
chp_manage是后台管理,比较独立,依赖于webportal-frame。
下面以chp_provider为例,chp_wap依赖于webportal-frame、chp_api、chp_dao这三个工程的jar包和代码。其中项目中所有的jar包都在webportal-frame工程中。
1、首先在需要引入的项目名称上鼠标右键=》Build Path=》Confige Bulid Path
或者在需要引入的项目名称上鼠标右键=》properties=》在打开的属性面板中找到java build path=》再点击页签中的Projects。
在projects中点击Add..将需要应用的项目选中
点击OK将需要应用的项目加入到project中。
选择切换到Libraries页签,选择Add JARs...将webportal-frame中的jar包引入到工程。
这时工程的编译路径已经配置好了。
2、配置Deployment Assembly
注意:如果是web工程应用其他工程代码,必须要配置,如果不配置,在部署运行的时候将找不到依赖的jar包或文件。
看到需要引用的功能被映入后点击OK就可以了。
3、验证发布。
将工程编译后在eclipse的tomcat中进行发布。如果看到引入的几个工程都在说明已经关联发布了。
注意事项
1、如果是web工程应用其他工程代码,必须要配置,如果不配置,在部署运行的时候将找不到依赖的jar包或文件。
2、某些web工程需要依赖运行环境,可以在Project Facets选择Runtimes
3、如果依赖的工程编译有问题,将引用不到相应的jar包和class文件。所以一定要确保所依赖的工程能够正确编译。