我们在开发的时候,有时候需要把一个大的项目打散,尤其是现在微服务的架构很流行,一个大的项目往往被拆成很多小的项目,而有的项目作为公共工程被独立出来,比如有个工程专门提供各种Util工具类,有的工程专门提供数据库接口。
这些工程在项目结束后往往被打成jar包直接依赖给需要的工程,但是在开发过程中,这些工程的源码也是一直在变的,我们不能改一次源码编译一个jar包吧?这里介绍一下elipse项目之间的相互依赖。
假设我们的公共项目工程(被别的项目引用的工程)叫 util。
1、Java Project引用
右键项目→Properties→Java Build Path→Projects→Add
勾选 util 工程→OK
看见util工程已经被添加进来,点击 Apply and Close。
这样eclipse会自动编译uitl工程并依赖给java工程。
2、Web Project引用
上述设置是针对于java project的,对于web project的设置方式是不同的。
因为web project不光需要编译util工程,还涉及到web容器对编译好的jar包进行发布。
右键工程名称→Properties→Deployment Assembly→Add
选择Project→Next
选择util工程,点击Finish(注意此处可以选择多个工程)
确认util工程已经被添加进来,点击Apply and Close,设置完成。
这里需要注意的是,如果util工程依赖其他的jar包,也是需要把这些jar包copy到web工程的lib目录下或者把这些jar包也引入到Deployment Assembly里。
从上图我们可以看出,eclipse会在web project发布的时候,将uitl工程打包成uitl.jar,并发布到web容器(比如tomcat)的WEB-INF/lib/目录下。
如果你按照java project的方式去依赖util工程的话,web project发布之后,在tomcat目录下是找不到util.jar这个jar包的,到时候就会报ClassNotFound的错了。
如上2点所述,不同项目类型(Java Project、Web Project等)右键-属性,弹出界面的属性选项不一样,这样也比较容易区分。
文件来源:https://www.cnblogs.com/floud/p/10598255.html