在 IDEA 中使用 Gradle 管理 Java 项目

JavaGradleJetBrains

Gradle 是一个基于 Apache Ant 和 Apache Maven 的自动化建构工具,也是当前 Android Studio 推荐使用并默认使用的构建工具。它用十分简洁方便 Groovy 的语法替代以前的 xml ,对以前的 ant 项目也有相当好的兼容性。在 Android Studio 上,基本上在建立项目的同时,Gradle 就已经被部署好了,这篇文章主要就讲一下如何在 JetBrains IntelliJ IDEA 中使用 Gradle 维护 Java 项目。

下载

首先你需要有 JDK ,以及最新版本的 IDEA ,在 这里 下载最新版本的 Gradle 。Gradle 下载下来就是一个 zip 压缩包,解压到需要的地方即可。建议把 Gradle 的目录下的 bin 目录加入到 PATH 中。

在 IDEA 中建立 Gradle 项目

打开 IDEA ,Create New Project ,左侧边栏选上 Gradle ,右边选好 JDK ,勾上 Java 。点击下一步。

然后让你输入 GroupId ArtifactId 以及 Version ,这个和你添加依赖的时候填写的 GroupId:ArtifactId:Version 格式是一样的。

然后让你简单设定一下 Gradle ,勾上 Use auto-import 和 Create directories for empty content root automatically ,下面选 Use local gradle distribution ,直接默认的话 IDEA 会去下载 Gradle-2.5 ,版本有些老而且在国内很慢。

然后是让你设定一下项目名称和项目路径,__项目名称最好要和 ArtifactId 相同__,不然之后会出一些问题。

使用 Gradle 配置项目

现在打开项目,就能看到默认的项目 Gradle 框架已经建好了,包含了默认的 build.gradle 以及 settings.gradle ,由于刚才选择了 Create directories for empty content root automatically,所以默认的目录结构也建好了。从右边可以开启 Gradle 侧边栏。

如果你的项目名称与 ArtifactId 是一样的,那现在已经可以开始用了, Gradle-3.0 速度还是相当不错的,当然有些常用的配置也可以加一下。

group 'moe.haruue'
version '1.0-SNAPSHOT'

apply plugin: 'java'

// 根据需要设置这两个
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    jcenter()   // 添加 JCenter
    mavenCentral()
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"  // 编译时增加 UTF-8 参数
}

jar {
    manifest {
        attributes 'Main-Class': 'moe.haruue.messager.Main'   // 在编译 jar 时设定的入口类
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

项目名称和 ArtifactId 不一致时的解决方案

有时候就是有需要把项目名称和 ArtifactId 设置得不一样,这种情况下创建出来的项目不能直接使用,必须手动把源代码目录、测试源代码目录、资源目录,测试资源目录标记好,然后在 build.gradle 中 apply plugin: ‘java’ 的下面加上一句

apply plugin: 'idea'    // 添加插件 idea ,否则 Gradle 无法与 IDEA 协同工作

在每次添加依赖之后,手动执行 gradle idea 即可与 IDEA 同步。