IDEA下Gradle多模块(项目)的构建

  • 更新时间:
  • 6733人关注

这是一篇不错的idea技术相关文章,由林向阳提供,主要知识点是关于IDEA、Gradle多模块、Gradle多模块构建、idea构建多模块、IDEA下Gradle多模块的内容,已被787人关注

我们在新起一个项目的时候,一般都会建多个子项目(IDEA里面称之为Module模块)。通过Gradle构建,多个Module之间需要将公用的配置抽取到全局,子项目中只写差异化的配置,以便于维护。

多模块项目的Gradle目录结构

示例:我的示例项目demo,我需要有一个common模块用于公用代码,一个rest模块用于提供rest接口,rest依赖common,如果用gradle构建,目录树会是这样:

demo
├── build.gradle   -- 全局配置
├── settings.gradle  -- 全局配置
├── common      -- 子模块1目录
│  └── build.gradle -- 子模块1配置
├── rest       -- 子模块2配置
│  └── build.gradle -- 子模块2配置
...

IDEA下初始创建root目录结构

A. IDEA本地创建项目并定义项目名

如果是通过IDEA新建一个本地项目,可按照如下步骤先创建root项目:

1、File -> New -> Project: 选择Gradle->Java

详解IDEA下Gradle多模块(项目)的构建

2、Next, 填写GroupId和ArtifactId:

GroupId: 如com.diboot
ArtifactId:如demo

3、Next, 指定Gradle home和JVM等

4、Next, 选择项目存放路径。完成之后IDEA会创建相关文件

接下来如果你需要将本地新项目代码上传到代码仓库,可以通过VCS菜单导入:

详解IDEA下Gradle多模块(项目)的构建

B. 基于代码仓库指定的项目名创建root项目

而如果项目名已经在仓库中定义,你需要基于仓库名初始项目的gradle配置,则项目的初始创建是通过VCS导入,然后用命令行初始化gradle:

  1. File -> New -> Project from Version Control -> ...
  2. 切换到Terminal命令行,输入 gradle init,按照操作提示进行root项目的初始化。

创建子模块/项目

在根目录demo文件夹右键选择 New -> Module -> Gradle -> Java, 指定子模块ArtifactId名称,依次添加common模块和rest模块后,gradle相关的目录结构就跟我们期望的一致了。

全局gradle配置

在demo根目录下:

settings.gradle中的结构定义如下

rootProject.name = 'demo'
include 'common'
include 'rest'

build.gradle中可以定义全局公用的构建配置,以Spring Boot项目配置示例:

buildscript {
  ext {
    springBootVersion = '2.1.2.RELEASE'
  }
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
  }
  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
  }
}
// 所有模块/项目的通用配置
allprojects {
  group 'com.diboot'
  version '1.0-SNAPSHOT'
  apply plugin: 'idea'
}
// 子模块/项目的统一配置
subprojects {
  apply plugin: 'java'
  // 指定JDK版本
  sourceCompatibility = 1.8
  targetCompatibility = 1.8
  // 指定编码格式
  [compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
  }
  ext {//依赖版本
    springBootVersion = "2.1.2.RELEASE"
    mysqlConnectorVersion = "8.0.13"
    mybatisStarterVersion = "1.3.2"
    fastjsonVersion = "1.2.54"
  }
  dependencies {
    compile("javax.servlet:javax.servlet-api:4.0.1")
    compile("org.springframework.boot:spring-boot-starter-web:$springBootVersion")
    // Mybatis
    compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:$mybatisStarterVersion")
    // Log4j2
    compile("org.springframework.boot:spring-boot-starter-log4j2:$springBootVersion")
    // JDBC Driver
    compile("mysql:mysql-connector-java:$mysqlConnectorVersion")
    // JSON
    compile("com.alibaba:fastjson:$fastjsonVersion")
    // Apache Commons
    compile("org.apache.commons:commons-lang3:3.8.1")
    
    // 单元测试
    testCompile("org.springframework.boot:spring-boot-starter-test:$springBootVersion")
    testCompile("junit:junit:4.12")
  }
  configurations {
    //移除spring boot 默认logger依赖
    all*.exclude module: 'spring-boot-starter-logging'
  }
}

子模块/项目gradle配置

通用的依赖配置可以在根目录下的build.gradle中,子模块/项目仅配置差异化的部分即可,如子项目特定的依赖。
common下的build.gradle示例:

dependencies {
  // 配置该项目特有的依赖
}

rest下的build.gradle示例(rest项目依赖common项目):

dependencies {
  // 依赖common项目
  compile project(":common")
  // 配置该项目特有的依赖
}

代码参考:Diboot-v2初始项目

Gradle官方相关文章:
Gradle多项目构建介绍
Gradle多项目构建

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

相关内容

  • IDEA新建Springboot项目详细教程

    1、路径 File-New-Project 2、创建项目 选择Spring Initializr 点击Next,设置工程名字等基本信息 点击Next,选择需要下载的jar包,比如创建Web项目勾选Web 点击Next,修改项目名称,点击Finish创建完成

    03-19IDEA新建Springboot项目

    阅读更多
  • 最新IDEA安装教程,图文分析

    IntelliJIDEA是java语言开发的集成环境,在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。下面就以ideaIU-2018.3.364位的IntelliJIDEAUltimateWindows版本做详细介绍。

    06-29idea安装后怎么破解

    阅读更多
  • IntelliJ IDEA安装运行python插件方法

    在本篇文章里我们给大家分享关于IntelliJ IDEA安装运行python插件方法,对此有需求的读者们可以跟着步骤学习下

    06-30idea怎么安装python插件安装教程

    阅读更多
  • Intellij IDEA插件开发入门详解

    这篇文章主要介绍了Intellij IDEA插件开发入门详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    07-01idea插件开发视频教程

    阅读更多
  • IDEA常用插件总结推荐

    这篇文章主要介绍了推荐几款非常实用的IDEA插件小结,解决你开发中可望而又不好找的插件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    02-14推荐几款非常实用的IDEA插件小结

    阅读更多
  • idea快速搭建spring cloud注册中心与注册的方法

    这篇文章主要介绍了idea快速搭建spring cloud注册中心与注册的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    07-01idea搭建spring cloud注册中心

    阅读更多
  • IntelliJ IDEA v2020.2.3 破解激活教程

    由于IntelliJ IDEA最新更新到【2020.2.3】版本以后,很好小伙伴打开后都提示需要重新激活,还有很多出现了无法打开和激活失效的提示,小编在这里给大家整理了关于本次更新的激活及破解教学,已经测试完全没问题!

    03-17idea激活教程

    阅读更多
  • Intellij idea如何激活?idea激活步骤

    我们在这里给大家整理了关于得到idea激活码以后如何进行激活的具体步骤和方法。

    03-17idea激活详细方法教程

    阅读更多

用户留言

33小时48分钟前回答

idea破解keygen

1 问题描述 某天使用 Gradle 构建项目时, IDEA 报错如下: 2 原因 原因是下载的 Gradle ,也就是 zip 压缩包不完整,导致无法使用 Gradle 构建。 3 解决方法 3.1 删除本地缓存重新下载 首先打开 IDEA 设置中的 Gradle ,找到 Gradle user home : 比如笔者的是 ~/.gradle ,打开其中的 wrapper/dists ,就可以看到缓存的 Gradle : 删除对应版本的 Gradle 即可, IDEA 会自动重新下载。 3.2 设置特定版本的 Gradle 如果清除缓存重新下载不行,可以设置特定版本的 Gradle ,首先下载 Gradle 到本地,下载最新版的 xxx-all.zip 即可: 下载后修改项目文件夹下的 gradle/wrapper/gradle-wrapper.properties ,参考 此处 修改 distributionUrl 为本地路径: 默认 ……

26小时9分钟前回答

idea 离线安装教程

前几天遇到一个问题,就是使用ider创建gradle项目后,src目录没有自动生成出来,今天就给大家分享一下怎么解决。 目录: 1.创建Gradle项目 2.解决没有生成src目录 问题一:创建gradle项目 首先打开ider创建gradle项目 新建项目选择左侧gradle,右侧选择自己jdk版本,勾选java项目,点击Next 写上GroupId组名ArtifactId项目名后点击Next 这里选择使用本地gradle分布,在下面url选择自己本机gradle路径即可,点击Next选择项目路径后Finish就完成创建工作。 二:解决没有生成src目录问题 这是刚才创建好的项目,我们发现并没有src目录,这可怎么办呢?不要着急,下面我们来解决一下 这时因为新建的文件夹不是Source Dir,所以需……