Gradle 使用实例

  1. 总项目结构如下,其中有三个文件:
  1. gradle.properties 用来配置属性
group=com.yawn version=1.0-SNAPSHOT
  1. settings.gradle 用来说明此项目包含的模块
rootProject.name = 'demo6' 
include 'entity' 
include 'service' 
include 'web'
  1. build.gradle 管理依赖等,类似于maven的pom文件
allprojects {
    apply plugin: 'java'
    sourceCompatibility = 1.8
}
// 同 allprojects
subprojects {
    repositories {
        mavenLocal()
        maven {
            // maven 私服
            url ''
        }
        mavenCentral()
    }

    dependencies {
        compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.9.1'
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }

}
  1. 此外,此项目下有三个子模块:entity、service、web,三个子模块的依赖关系为web-->service-->entity。三个子模块分别只有build.gradle文件,如下:
    1. entity
dependencies {
    compile ('org.hibernate:hibernate-core:5.2.11.Final') {
        // 排除hibernate对self4j的依赖
        exclude(group: 'org.slf4j', module: 'selef4j-api')
    }
}
  1. service
dependencies {
    compile project(":entity")
}


/*
def createDir = {
    path ->
        File dir = new File(path);
        if (!dir.exists()) {
            dir.mkdirs();
        }
}

task makeJavaDir() {
    def paths = ['src/main/java', 'src/main/resources', 'src/test/java', 'src/test/resources']
    doFirst {
        paths.forEach(createDir)
    }
}
task makeWebDir() {
    def paths = ['src/main/webapp']
    doLast {
        dependsOn(makeJavaDir)
        paths.forEach(createDir)
    }
}
*/
  1. web
apply plugin: 'war'

dependencies {
    compile project(":service")
}



/*
def createDir = {
    path ->
        File dir = new File(path);
        if (!dir.exists()) {
            dir.mkdirs();
        }
}

task makeJavaDir() {
    def paths = ['src/main/java', 'src/main/resources', 'src/test/java', 'src/test/resources']
    doFirst {
        paths.forEach(createDir)
    }
}
task makeWebDir() {
    def paths = ['src/main/webapp', 'src/test/webapp']
    doLast {
        dependsOn 'makeJavaDir'
        paths.forEach(createDir)
    }
}
*/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7068
来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4787
来自专栏魂祭心

原 canvas绘制clock

4204
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4828
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4055
来自专栏杨龙飞前端

scrollto 到指定位置

2544
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4878
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2110
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2665

扫码关注云+社区