如何在IntelliJ中基于Gradle实现无需生成Jar复用公共代码?
在IntelliJ中用Gradle实现本地公共代码即时复用(无需打Jar)
直接按以下步骤配置,就能达到和Maven一样的本地开发体验:
1. 统一项目目录结构
把你的两个Gradle项目放在同一个根目录下,比如:
C:/DemoRepo/ ├─ demo-admin-service/ └─ demo-common-code/
2. 配置根目录的settings.gradle
在根目录C:/DemoRepo下新建(如果没有)settings.gradle文件,添加以下内容,把两个子项目纳入Gradle的多项目构建体系:
rootProject.name = 'DemoRepo' include ':demo-common-code' include ':demo-admin-service'
3. 修改业务服务的依赖配置
打开demo-admin-service的build.gradle,把原来指向仓库的依赖替换成项目依赖:
dependencies { // 替换成项目依赖,而非groupId:artifactId:version的形式 implementation project(':demo-common-code') // 保留其他原有依赖,比如Spring Boot相关 implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' }
4. 重新导入Gradle项目到IntelliJ
- 点击IntelliJ右上角的Gradle侧边栏图标,选择「Reload All Gradle Projects」
- 或者右键根项目,选择「Gradle」→「Reload Gradle Project」
5. 验证效果
修改demo-common-code里的任意代码(比如工具类、DTO等),无需执行jar任务,直接运行demo-admin-service或者在编辑器中引用公共代码,IntelliJ会自动同步最新的代码变更。
注意事项
- 确保两个子项目使用的Gradle版本一致,避免构建兼容性问题
- 删掉
demo-admin-service中原来指向demo-common-code的仓库依赖(比如mavenLocal里的快照包),防止Gradle优先拉取远程/Jar包而非本地项目代码 - Spring Boot的Gradle插件完全支持这种多项目构建方式,无需额外适配
内容的提问来源于stack exchange,提问作者Satya
相关产品推荐
相关产品推荐

