Gradle:修改默认的Build配置文件名方式
作者:chihaihai
Gradle修改默认的Build配置文件名
Gradle默认使用build.gradle作为默认的配置文件文件名。
如果我们在build.gradle文件中编写代码,那么我们在运行任务的时候,不需要指定build文件名。
我们也可以不使用build.gradle,而用另外的文件名来创建build配置文件。
但是更改过后需要在 settings.gradle文件中,给rootProject修改属性值buildFileName:。
这样gradle才识别修改后的文件。
在spring setting.gradle文件中的例子
include "spring-aop" include "spring-aspects" include "spring-beans" include "spring-context" include "spring-context-support" include "spring-context-indexer" include "spring-core" include "kotlin-coroutines" project(':kotlin-coroutines').projectDir = file('spring-core/kotlin-coroutines') include "spring-expression" include "spring-instrument" include "spring-jcl" include "spring-jdbc" include "spring-jms" include "spring-messaging" include "spring-orm" include "spring-oxm" include "spring-test" include "spring-tx" include "spring-web" include "spring-webmvc" include "spring-webflux" include "spring-websocket" include "framework-bom" include "integration-tests" rootProject.name = "spring" rootProject.children.each {project -> project.buildFileName = "${project.name}.gradle" / } include 'learn'
配置文件中加入对应buildFileName就万事大吉了。
Gradle配置文件
gradle和maven一样是用来做项目结构管理和jar包管理的
我们来看看如何使用gradle进行项目和jar包管理
1、第一步
新建项目,选择使用Gradle
如果你的idea版本比较低,可能有"use auto-import"选项,勾选他,这样可以实现使用过程中自动加依赖
点击创建,就创建好一个gradle项目了
2、打开新建的项目
在idea的setting中可以看到gradle下载到本地的jar包放的位置
可以修改,建议不要放C盘
3、配置文件build.gradle中怎么配置
3.1 去maven仓库拿jar包的地址
点进去之后,比如说我要spring的包,那么我就输入spring,选择spring context,选择版本,点进去
将依赖地址放入build.gradle中
3.2build.gradle 文件中各关键字的意义
引用其他模块中的包,和普通的引包
//这个表示当前项目的groupId和版本,自己创建项目的时候设置的 group 'com.wcm' version '1.0-SNAPSHOT' // 运行的环境:java环境,idea开发工具 apply plugin: 'java-library' apply plugin: 'idea' //java的版本和编码集等信息,这里记得和idea中配置的一样,都使用你自己的java版本 compileJava { sourceCompatibility = '1.8' targetCompatibility = '1.8' options.encoding = 'UTF-8' } //指定所使用的的仓库,mavenCentral()表示使用中央仓库 //此时项目中所需要的jar包都会从这个中央仓库下载至本地指定仓库 //你要是不配置,那么默认就是maven的地址 repositories { mavenCentral() } //假如你要使用你们公司自己的中央仓库,那么也可以使用repositories 进行配置 //例如 repositories { maven { url "http://maven.xxxx.com:8081/repository/maven-public/" } } /* gradle工程所有的jar包的坐标都在dependencies属性内放置 每一个jar包的坐标都有三个基本元素组成:group,name,version testCompile表示该jar包在测试的时候起作用,该属性为jar包的作用域 我们在gradle里面添加坐标的时候都要带上jar包的作用域 * */ dependencies { // spring项目管理 implementation group: 'org.springframework', name: 'spring-context', version: '5.3.22' // 引用不同模块下的包,比如说,我这个模块, //要引用service模块下的payment-service模块下的所有包,那么我就可以这么写 api project(":service:payment-service") // 加入要使用我自定义的jar包,我把jar包放入新建的一个 模块名/lib 包下, //那么我就可以这样去引用我自己lib下的所有".jar"的包 // dir表示地址,includes表示包含那些东西 api fileTree(dir: 'lib', includes: ['*.jar']) //表示作用域测试环境,只在测试时起作用 testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' //也可以使用testCompile,表示只在测试时起作用 //使用group、name、version来设置而已,一样的作用 //testCompile group: 'junit', name: 'junit', version: '4.12' }
此外build.gradle中还可以给子项目配置,子项目中都需要的就可以配置在这里,如果不是所有子模块(项目)都需要的,那么子模块可以在自己的build.gradle文件中配置
//子项目中的环境,上面那些可以配置的,这里都可以配置,只不过是在子项目中起作用 subprojects{ // 运行的环境:java环境,idea开发工具 apply plugin: 'java-library' // 添加此插件,即可把项目变成web项目(当然,你得自己创建WEB-INF文件夹和web.xml文件) apply plugin: 'war' dependencies { // testImplementation:表示测试时用到的jar包 testImplementation("org.springframework.boot:spring-boot-starter-test") } //java的版本和编码集等信息 compileJava { sourceCompatibility = '1.8' } }
父项目与子项目的build.gradle配置文件
在父项目gradle配置文件中引入的依赖,子模块并不能直接继承获取,这一点和maven不太一样
但是我们只需要把需要给子模块使用的jar包,用作用域包起来就可以实现子模块也可以使用父项目中的jar依赖包了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。