gradle构建基本的java工程

1.创建gradle基本配置文件

创建build.gradle文件,添加如下配置:

//构建java webProject

apply plugin: 'java'

// apply plugin: 'eclipse'

apply plugin: 'eclipse-wtp'

apply plugin: 'war'

//添加jar包依赖的地址,使用maven仓库

repositories {

maven {

url "http://maven.aliyun.com/nexus/content/groups/public/"

}

mavenCentral()

}

2.创建相关的目录

gradle 不会自动创建目录,需要手动创建,目录结构与maven一样

java的源码目录:src/main/java

java的测试代码目录:src/test/java

资源文件目录:src/main/resources

测试的资源目录:src/test/resources

WEB项目的目录:src/main/webapp

以及放web.xml的目录:src/main/webapp/WEB-INF

3.使用gradle自动帮我们创建工程目录

build.gradle中添加task

//构建java工程基本目录

task createJavaProject << {

sourceSets*.java.srcDirs*.each{ it.mkdirs() }

sourceSets*.resources.srcDirs*.each{ it.mkdirs()}

}

//构建javaweb工程

task createWebProject(dependsOn: 'createJavaProject') << {

def webAppDir = file("$webAppDirName")

webAppDir.mkdirs()

}

执行对应task生成普通java工程目录或者javaWeb工程的目录

gradle createWebProject



4.或者使用gradle插件来生成工程目录

gradleLeaning

https://guides.gradle.org/building-java-applications/

构建Java基本工程:

gradle init --type java-application 

构建Java web工程:


5.初始化eclipse开发环境

执行gradle eclipse命令生成的eclipse IDE需要的相关工程文件

执行gradle cleanEclipse命令清楚eclipse IDE相关工程文件


6.构建java代码

我们经常使用的任务是gradle build,这个任务执行以下操作:编译、执行单元测试、组装Jar文件:

几秒钟以后,会看到”BUILD SUCCESSFUL”输出,说明构建已经完成了。

可以到”build”目录中查看构建结构,在这个目录中我们可以看到很多子目录,其中有三个我们需要特别注意:

classes: 保存被编译后的.class文件

reports: 构建报告(如:测试报告)

lib: 组装好的项目包(通常为:.jar或者.war文件)

classes目录包含编译生成的所有.class文件。执行完编译后,我们应该可以在这里找到”HelloWorld.class”和”Greeter.class”。

到目前为止,我们项目并没有申明任何依赖,所以”debendency_cache”目录是空的。

“reports”目录会包含项目单元测试的测试报告,当然,当前项目并未编写任何单元测试,所以,也是空目录。

“lib”目录包含打包后的jar或war文件,在后面的内容中我们将学会如何定义JAR的名称和版本号

6.申明依赖

使用dependencies块,添加一个junit的依赖

depencies{

// https://mvnrepository.com/artifact/junit/junit

compile group: 'junit', name: 'junit', version: '4.12'

}

另一个要注意的是,我们在这个依赖定义中指定依赖是compile范围的。意思是,这个库在编译和运行时都需要(如果我们正在构建WAR文件,这个文件会在/WEB-INF/libs目录下)。另外值得注意的依赖类型包括:

providedCompile:在编译期间需要这个依赖包,但在运行期间可能由容器提供相关组件(比如:Java Servlet API)

testCompile:依赖项仅在构建和运行测试代码时需要,在项目运行时不需要这个依赖项。


最后,我们来定义我们将生成的Jar文件的名字:

jar {

baseName ='gs-gradle'

version ='0.1.0'

}

jar块定义如何命名JAR文件,在上面的例子中,我们的JAR文件的名字为:gs-gradle-0.1.0.jar。

注:这个时候如果执行gradle build,Gradle会花一些时间从Maven中央库下载Joda Time包(具体下载时间依赖于你的网速)



相关参考文章:.


运行web工程

运行web工程

11

gradle教程

使用Gradle构建Java项目

使用 Gradle 构建 Java 项目

使用gradle初始化(创建)java的目录结构

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,724评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 我们已经知道,Gradle是一个非常灵活的构建框架,他提供了构建的基础核心,为了对具体的业务进行构建,Gradle...
    acc8226阅读 1,351评论 0 4
  • 知行合一 4个基本点 推迟满足感(立刻去做) 承担责任 尊重事实 保持平衡 不要想太多 没人在意你 放下完美 勇敢...
    路上我阅读 69评论 0 0
  • 文/Barnabas|图/网络 这两年,有些人问我「你的工作是什么」时,我会回答说「我没有在工作,我一般都是在玩」...
    梦想教练Barnabas阅读 2,640评论 14 65