3.跟我学Gradle-快速入门,了解创建和指定Gradle项目的标准目录结构

本文介绍如何使用Gradle 2.12创建遵循COC原则的标准项目结构,包括类似Maven的目录配置,如src/main/java、src/main/resources等,并演示如何通过Gradle内置任务生成示例代码。同时,文章还讨论了非标准结构的配置方法,允许开发者根据已有项目调整目录设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文基于gradle2.12版本

标准结构

Gradle遵循COC(convention over configuration约定优于配置)的理念,默认情况下提供了与maven相同的项目结构配置
大体结构如下
- project root
- src/main/java(测试)
- src/main/resources
- src/test/java(测试源码目录)
- src/test/resources(测试资源目录)
- src/main/webapp(web工程)

创建标准结构

好在,Gradle提供了一些内置初始化任务,可以方便的为我们生成默认的目录结构以及示例代码,如下命令会产生如下效果

  • 应用java插件
  • 应用jcenter()仓库
  • 采用JUnit测试框架
  • 创建标准目录结构
  • 包含一份示例代码

“java-library使用示例”

//创建一个java项目,默认使用Junit测试框架
gradle init --type java-library 
//使用spock替代junit
gradle init --type java-library --test-framework spock
//使用testng替代junit
gradle init --type java-library --test-framework testng

“scala-library使用示例”
gradle init --type scala-library

  • 应用scala插件
  • 应用jcenter()仓库
  • 采用scala2.10
  • 应用ScalaTest测试框架
  • 采用JUnit测试框架
  • 创建标准目录结构
  • 包含一份示例代码
  • 使用 Zinc Scala 编译器

“groovy-library使用示例”
gradle init --type groovy-library

  • 应用groovy插件
  • 应用jcenter()仓库
    • 采用scala2.x
  • 采用Spock测试框架
  • 创建标准目录结构
  • 包含一份示例代码
非标准结构配置

在一些老项目上,可能目录结构并不是标准结构,然而一般开发人员又不好进行结构调整.此时可以通过配置sourceSet来指定目录结构

sourceSets {
    main {
        java {
            srcDir 'src/java'
        }
        resources {
            srcDir 'src/resources'
        }
    }
}

或者采用如下写法也是可以的

sourceSets {
    main.java.srcDirs = ['src/java']
    main.resources.srcDirs = ['src/resources']
}

在android中

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        androidTest.setRoot('tests')
    }
}

当然如果你的资源目录与源码目录相同这样就比较….了,但你仍然可以按照如下方式搭配includeexclude进行指定

sourceSets {
  main {
    java {
      //your java source paths and exclusions go here...
    }

    resources {
      srcDir 'main/resources'
      include '**/*.properties'
      include '**/*.png'


      srcDir 'src'
      include '**/Messages*.properties'
      exclude '**/*.java'
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值