用IntelliJ IDEA创建Gradle项目简单入门

时间:2021-08-11 20:05:04

Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都有,且看起来更漂亮,咱么就用起来吧。

装好Intellij IDEA之后,Gradle也就默认装好了,现在我们仅需直接创建工程:

用IntelliJ IDEA创建Gradle项目简单入门

当然选择Java了,Next:

用IntelliJ IDEA创建Gradle项目简单入门

GroupId,ArtifactId和Version,咋看起来和Maven一样?其实就是一样,后面我们还继续使用Maven的仓库呢。Next:

用IntelliJ IDEA创建Gradle项目简单入门

Use auto-import和Create directories for empty content roots automatically这两个选项勾上,Next:

用IntelliJ IDEA创建Gradle项目简单入门

填入项目名称,位置,OK,Finish。我们来看看项目的目录结构:

用IntelliJ IDEA创建Gradle项目简单入门

  • .gradle,gradle的相关支持文件,不用管
  • .idea,IntelliJ IDEA的相关文件,不用管
  • build,构建生成物,存放项目构建中生成的class和jar包
  • gradle,一个gradle的包装程序,貌似直接用gradle不太好,得再包一层,这个其实我们也不用管
  • src,我们写代码的地方,不用说了吧
  • build.gradle,gradle的构建配置,这是我们要关心的,相当于Maven的pom.xml
  • GradleLearn.iml,IntelliJ IDEA的项目文件
  • gradlew,一段gradle wrapper的运行脚本,For *nix
  • gradlew.bat,一段gradle wrapper的运行脚本,For Windows

我用上一篇文章提供的小程序为例子(Java的异步HttpClient),看看如何引入httpasyncclient,打开我们新的“pom.xml”(build.gradle):

group 'com.gornix'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
mavenLocal() mavenCentral()
}

tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
dependencies {
compile group: 'org.apache.httpcomponents', name:'httpasyncclient', version:'4.1.1'
testCompile group: 'junit', name: 'junit', version: '4.11'
}

红色字体部分是我修改过的,看看build.gradle是不是比pom.xml好看多了,相当简练对吧。

其中mavenCentral()句话的意思是使用Maven的容器获取依赖,而加上mavenLocal()这句话之后,Gradle会尝试先从本地Maven缓存中获取jar包,这样会更快一些,下面的dependencies则是各种依赖包了,compile表示编译时依赖,而testCompile表示执行单元测试时的编译的依赖。task.withType()这段表示使用UTF-8编码,为了避免编译的问题,我们全部使用UTF-8编码即可,嗯,是全部文本文件!

OK,点一下Gradle工具窗口中的刷新:

用IntelliJ IDEA创建Gradle项目简单入门

这时候你展开Project窗口中的External Libraries查看的话,应该就能看到相关的包被引用进来了。

别的好像没什么差别了,这篇文章仅仅是一篇“简单入门”文章,所以没太多内容,我们仍然看不到Gradle比Maven强去哪里,仅仅是配置文件好看了点,等以后如有时间,我再来整理整理了。