Gradle 使用实例

  1. 总项目结构如下,其中有三个文件:
    143645_eTGy_2342105.png
    1. gradle.properties 用来配置属性
      group=com.yawn
      version=1.0-SNAPSHOT

       

    2. settings.gradle 用来说明此项目包含的模块
      rootProject.name = 'demo6'
      include 'entity'
      include 'service'
      include 'web'

       

    3. 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'
          }
      
      }

       

  2. 此外,此项目下有三个子模块: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')
          }
      }

       

    2. 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)
          }
      }
      */
      

       

    3. 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)
          }
      }
      */
      

       

转载于:https://my.oschina.net/silenceyawen/blog/1546724

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值