文档章节

gradle学习(21)-在eclipse中构建java项目

xxjbs001
 xxjbs001
发布于 2015/01/16 11:26
字数 603
阅读 629
收藏 2

1.下载gradle for eclipse插件


根据前人文章找到的链接下载的,就不多说了。下载完成后,重启eclipse。


2.创建gradle项目


创建新项目的时候会发现多了一个gradle选项:



选择Gradle Project后会等待一段时间,等创建完成后会生一个gradle项目,看一下目录结构:




这些项目的目录结构其实都在之前的学习中多少有些涉及,这里就不再过多的废话了。直接看build.gralde脚本里都写了啥吧。


//java插件
apply plugin: 'java'
//eclipse插件
apply plugin: 'eclipse'
//指定JDK版本,改成你系统中版本
sourceCompatibility = 1.5
//版本号
version = '1.0'
//jar包配置文件的一些属性设置
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
    }
}
//jar来源定义为Maven的中央库
repositories {
    mavenCentral()
}
//依赖
dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}


3.test任务


这个时候我们写一个任务来执行单元测试,这个时候有可能报JDK错误,解决方法。

由于eclipse执行gradle的方式让醉了,所以我还是选择命令行吧:


D:\eclipse\workspare\gradle_hello>gradle test
:compileJava
:processResources
:classes
:compileTestJava
:processTestResources
:testClasses
:test

BUILD SUCCESSFUL

Total time: 5.07 secs

然后我们看一下项目目录下的结构:



生成了build目录,里面有classes、dependency-cache、resources、test-results、reports。主要来看一下我们生成的测试报告:




4.加入JaCoco


想测试一下单元测试的代码覆盖率,在代码中添加如下内容:


//添加JaCoCo
apply plugin: 'jacoco'

jacoco{
	toolVersion = "0.7.1.201405082137"
	reportsDir = file("$buildDir/customJacocoReportDir")
}
jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}

然后执行jacoco任务:


D:\eclipse\workspare\gradle_hello>gradle jacoco
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jacocoTestReport
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.ant/0.7.1.20140508
2137/org.jacoco.ant-0.7.1.201405082137.pom
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.core/0.7.1.2014050
82137/org.jacoco.core-0.7.1.201405082137.pom
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.report/0.7.1.20140
5082137/org.jacoco.report-0.7.1.201405082137.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-debug-all/5.0.1/asm-debu
g-all-5.0.1.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-parent/5.0.1/asm-parent-
5.0.1.pom
Download https://repo1.maven.org/maven2/org/ow2/ow2/1.3/ow2-1.3.pom
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.ant/0.7.1.20140508
2137/org.jacoco.ant-0.7.1.201405082137.jar
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.core/0.7.1.2014050
82137/org.jacoco.core-0.7.1.201405082137.jar
Download https://repo1.maven.org/maven2/org/jacoco/org.jacoco.report/0.7.1.20140
5082137/org.jacoco.report-0.7.1.201405082137.jar
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-debug-all/5.0.1/asm-debu
g-all-5.0.1.jar

BUILD SUCCESSFUL

Total time: 2 mins 5.018 secs

在build目录中会生成jacoco的目录报告:



打开html文件显示如下:



这样我们就包含了jacoco的插件啦。

本文转载自:http://blog.csdn.net/itfootball/article/details/42710653

xxjbs001
粉丝 55
博文 753
码字总数 217215
作品 0
浦东
QA/测试工程师
私信 提问
用Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之编写链代码程序

编写第一个 Java 链代码程序 在上一节中,您已经熟悉了如何构建、运行、部署和调用链代码,但尚未编写任何 Java 代码。 在本节中,将会使用 Eclipse IDE、一个用于 Eclipse 的 Gradle 插件,...

笔阁
2018/05/24
1K
1
Learn Gradle - CH 3 Java 快速入门

上一章(链接)我们主要对Gradle的脚本进行了简要的介绍,本章我们将继续学习Gradle的另外一个特性——插件(plugins)。 1、插件介绍 插件是对Gradle功能的扩展,Gradle有着丰富的插件,你可...

Hassan
2015/07/26
91
0
翻译--Gradle之Java工程入门

我们已经看到Gradle是一个通用构建工具,它可以完成相当多的任务,只要你能在脚本里定义好。如果你没写好脚本,它就啥也干不成。 大部分Java项目都是这样的流程:编译源文件,单元测试,打成...

davelet
2014/01/12
0
0
gradle/Groovy语法

Groovy官网的介绍(http://www.groovy-lang.org/download.html#gvm) Gradle API 文档: https://docs.gradle.org/current/dsl/org.gradle.api.invocation.Gradle.html 深入理解Android(一)......

shareus
2018/04/27
0
0
用Gradle构建Spring Boot项目

相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本。本文将从无到有创建一个用Gradle构建的Spring Boot项目,并在此过程中讲到...

asdf08442a
2018/09/28
73
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部