一. 使用 Gradle 的 java 插件构建 Java 项目
1)Gradle 插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' , 此处我们定义插件
apply plugin: 'java'
2)Gradle 希望我们的 java 项目需要遵循以下规范:
src/main/java : 放置 java 源文件
src/test/java : 放置测试文件,比如单元测试等
src/main/resources: 此目录下的文件会被作为资源文件打入 jar 包
src/test/resources: 放置提供给测试用的配置文件
3) java 插件包含了若干个构建项目的任务,最常用的就是 build 任务,当我们运行 build 任务时,Gradle 会编译,运行我们的测试脚本 (类) 并生成 jar 文件在 build/lib 下
4) 其他常用的任务:
clean: 删除已经构建的目录及其文件
assemble: 编译并生成 Jar 或者 war 文件,注意不会运行测试文件
check: 编译并测试代码
二. 外部依赖
1)和 maven 类似,如果要在项目中添加所依赖的外部 jar 文件,我们必须要告诉 Gradle 在哪里找到它们
语法:
指定maven远程仓库地址
repositories {
jcenter() mavenLocal() //maven本地仓库
mavenCentral() //maven中心仓库
/**/
2)当指定好仓库地址时,我们可以添加依赖
* /
maven { url 'http:/ / maven.aliyun.com / nexus / content / groups / public / ' }
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
}'
语法:
dependencies {compile group: '类似于maven中的groupid',
name: '类似于maven中的affactid',
version: '版本号'compile'group: name: version'
}
三. java 多项目构建
1)gradle 也可以支持多项目构建,比如说如下项目:
2)此时我们要在 settings.gradle 里配置 依赖的模块:
multiproject/
api/
services/webservice/
shared/
services/shared/
include "shared", "api", "services:webservice", "services:shared"
3)比如说 shared 要依赖 api 语法:
4) 常见属性
dependencies {
compile project(': shared')
}
sourceCompatibility: 使用哪种 JDK 版本编译
targetCompatibility : 生成 class 的 Java 版本
四.构建 web 项目
1)需要添加 web 插件:apply plugin:'war'
2) war 任务 主要用于将 web 应用程序打包成 war
3) 与 maven 规范一致:web 的相关资源位于 src/main/webapp 下
使用示例:
另外我们可以设置 webAppDirName 来指定我们 web 上下文路径
war {
from 'src/rootContent' // adds a file-set to the root of the archive
webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}
来源: http://www.bubuko.com/infodetail-2458174.html