Gradle使用入门

Gradle是一个项目自动化构建工具,基于Groovy实现。Android Studio中项目的构建就是用的Gradle工具。

1. 下载并配置Gradle

Gradle配置安装见:https://gradle.org/install/

2. 简单示例

使用Gradle首先要编写项目的build.gradle配置文件。下面的例子是我在接触sphinx开源语音识别工具时,所写的一个简单代码,其中项目的目录结构如下:

Gradle使用入门_第1张图片

  • src/main/java目录存放源代码
  • src/main/resources目录存放项目的资源文件
  • build/classes目录存放编译生成的class文件
  • build/libs目录存放编译生成的jar包

如下是项目对应的build.gradle文件:

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'application'

mainClassName = 'TranscriberDemo'

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

dependencies {
    compile group: 'edu.cmu.sphinx', name: 'sphinx4-core', version:'5prealpha-SNAPSHOT'
    compile group: 'edu.cmu.sphinx', name: 'sphinx4-data', version:'5prealpha-SNAPSHOT'
}

jar {
  manifest {
    attributes 'Main-Class': 'TranscriberDemo'
  }
  from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}

其中,
repositories 标签告诉Gradle从哪获取项目所依赖的jar包;
dependencies 标签定义项目编译所需要的jar包;
jar标签定义编译项目生成的jar包的目录结构,可以配置jar包中manifest文件的内容,如jar文件的主类。

注意

Gradle默认构建出来的包不包含其它关联的jar包,因此,直接build出来的jar包会出现不能正常运行的情况。通过修改build.gradle的jar标签属性,可以使构建的jar包包含其它相关联的第三方jar包。

jar {
  manifest {
    attributes 'Main-Class': 'TranscriberDemo'
  }
  from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }    //构建出的jar包包含相关联的第三方jar包
}

参考文章

https://luoyuan800.github.io/2015/07/03/gradle/

你可能感兴趣的:(开发工具)