在IDEA中设置依赖调用公共模块代码
Posted Neo Yang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在IDEA中设置依赖调用公共模块代码相关的知识,希望对你有一定的参考价值。
背景
开发Java项目,经常会有一些公共的代码逻辑,如:常量定义,通用的枚举,模型,方法。如果每个微服都拷贝一份,重复代码会越来越多。
我们通常的做法是把些公共的代码逻辑抽取出来,放一个新的Common工程维护,编译成jar包推送到Maven仓库。其它微服通过配置pom文件,拉取公共的Common包使用。
在抽取Common模块后,开发中会有两个问题:
- 开发阶段修改了Common模块代码,微服务如何调试。
- 修改Common模块后各微服务如何及时获取最新的版本。
下面说一下这两种问题的处理方式。
在IDEA中设置模块依赖
修改了Common项目代码,正常的逻辑是需要打包上传后微服务再拉取Jar包使用。但,这样操作需要频繁构建Common项目, 微服务也需要频繁修改pom文件。 实际上,我们可以在本地依赖Common模块开发,联调测试充分了再上传。
IDEA提供了模块依赖设置:
-
进入project structure界面
-
导入依赖的Common组件代码
选择Import Module, 选中Common模块的代码目录将Common模块的代码加进来了。 -
设置依赖的模块
按图中标注的4步操作设置微服务依赖的Common模块,设置后就可以在微服务中直接使用Common中定义的接口了。注意:如果微服务的pom文件有依赖Common的历史版本,先把这部分注释掉,避免使用老版本的jar包。
使用SNAPSHOT版本
Common模块的代码是通用的,在开发中可能会加接口,改逻辑。如果是Release版本,Common模块推送了一个新版本的Jar包,各微服需要修改pom文件才能获取到最新版本的Jar包。
在微服比较多的情况下,这个操作是很麻烦的。而且不同的微服务还是不同的人负责。所以,在开发阶段可以使用SNAPSHOT版本号,这样可以让各微服及时拉取到最新的common包使用,新版本代码有问题也能及时发现,也不用频繁修改微服务的pom文件。
上面是开发阶段的处理,版本转测试或者发生产环境是需要用Release版本的,需要跟踪每个版本修改了什么内容。
每个微服务需要设置一下,勾选"Always update snapshots ", 强制更新SNAPSHOT包,否则本地已经有了旧的包就拿不到最新的了。
以上是关于在IDEA中设置依赖调用公共模块代码的主要内容,如果未能解决你的问题,请参考以下文章