Gradle:修改默認(rèn)的Build配置文件名方式
Gradle修改默認(rèn)的Build配置文件名
Gradle默認(rèn)使用build.gradle作為默認(rèn)的配置文件文件名。
如果我們?cè)赽uild.gradle文件中編寫代碼,那么我們?cè)谶\(yùn)行任務(wù)的時(shí)候,不需要指定build文件名。
我們也可以不使用build.gradle,而用另外的文件名來創(chuàng)建build配置文件。
但是更改過后需要在 settings.gradle文件中,給rootProject修改屬性值buildFileName:。
這樣gradle才識(shí)別修改后的文件。
在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'
配置文件中加入對(duì)應(yīng)buildFileName就萬事大吉了。
Gradle配置文件
gradle和maven一樣是用來做項(xiàng)目結(jié)構(gòu)管理和jar包管理的
我們來看看如何使用gradle進(jìn)行項(xiàng)目和jar包管理
1、第一步
新建項(xiàng)目,選擇使用Gradle

如果你的idea版本比較低,可能有"use auto-import"選項(xiàng),勾選他,這樣可以實(shí)現(xiàn)使用過程中自動(dòng)加依賴
點(diǎn)擊創(chuàng)建,就創(chuàng)建好一個(gè)gradle項(xiàng)目了
2、打開新建的項(xiàng)目
在idea的setting中可以看到gradle下載到本地的jar包放的位置
可以修改,建議不要放C盤

3、配置文件build.gradle中怎么配置
3.1 去maven倉(cāng)庫(kù)拿jar包的地址
點(diǎn)進(jìn)去之后,比如說我要spring的包,那么我就輸入spring,選擇spring context,選擇版本,點(diǎn)進(jìn)去

將依賴地址放入build.gradle中
3.2build.gradle 文件中各關(guān)鍵字的意義
引用其他模塊中的包,和普通的引包
//這個(gè)表示當(dāng)前項(xiàng)目的groupId和版本,自己創(chuàng)建項(xiàng)目的時(shí)候設(shè)置的
group 'com.wcm'
version '1.0-SNAPSHOT'
// 運(yùn)行的環(huán)境:java環(huán)境,idea開發(fā)工具
apply plugin: 'java-library'
apply plugin: 'idea'
//java的版本和編碼集等信息,這里記得和idea中配置的一樣,都使用你自己的java版本
compileJava {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
options.encoding = 'UTF-8'
}
//指定所使用的的倉(cāng)庫(kù),mavenCentral()表示使用中央倉(cāng)庫(kù)
//此時(shí)項(xiàng)目中所需要的jar包都會(huì)從這個(gè)中央倉(cāng)庫(kù)下載至本地指定倉(cāng)庫(kù)
//你要是不配置,那么默認(rèn)就是maven的地址
repositories {
mavenCentral()
}
//假如你要使用你們公司自己的中央倉(cāng)庫(kù),那么也可以使用repositories 進(jìn)行配置
//例如
repositories {
maven { url "http://maven.xxxx.com:8081/repository/maven-public/" }
}
/*
gradle工程所有的jar包的坐標(biāo)都在dependencies屬性內(nèi)放置
每一個(gè)jar包的坐標(biāo)都有三個(gè)基本元素組成:group,name,version
testCompile表示該jar包在測(cè)試的時(shí)候起作用,該屬性為jar包的作用域
我們?cè)趃radle里面添加坐標(biāo)的時(shí)候都要帶上jar包的作用域
* */
dependencies {
// spring項(xiàng)目管理
implementation group: 'org.springframework', name: 'spring-context', version: '5.3.22'
// 引用不同模塊下的包,比如說,我這個(gè)模塊,
//要引用service模塊下的payment-service模塊下的所有包,那么我就可以這么寫
api project(":service:payment-service")
// 加入要使用我自定義的jar包,我把jar包放入新建的一個(gè) 模塊名/lib 包下,
//那么我就可以這樣去引用我自己lib下的所有".jar"的包
// dir表示地址,includes表示包含那些東西
api fileTree(dir: 'lib', includes: ['*.jar'])
//表示作用域測(cè)試環(huán)境,只在測(cè)試時(shí)起作用
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
//也可以使用testCompile,表示只在測(cè)試時(shí)起作用
//使用group、name、version來設(shè)置而已,一樣的作用
//testCompile group: 'junit', name: 'junit', version: '4.12'
}
此外build.gradle中還可以給子項(xiàng)目配置,子項(xiàng)目中都需要的就可以配置在這里,如果不是所有子模塊(項(xiàng)目)都需要的,那么子模塊可以在自己的build.gradle文件中配置
//子項(xiàng)目中的環(huán)境,上面那些可以配置的,這里都可以配置,只不過是在子項(xiàng)目中起作用
subprojects{
// 運(yùn)行的環(huán)境:java環(huán)境,idea開發(fā)工具
apply plugin: 'java-library'
// 添加此插件,即可把項(xiàng)目變成web項(xiàng)目(當(dāng)然,你得自己創(chuàng)建WEB-INF文件夾和web.xml文件)
apply plugin: 'war'
dependencies {
// testImplementation:表示測(cè)試時(shí)用到的jar包
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
//java的版本和編碼集等信息
compileJava {
sourceCompatibility = '1.8'
}
}

父項(xiàng)目與子項(xiàng)目的build.gradle配置文件
在父項(xiàng)目gradle配置文件中引入的依賴,子模塊并不能直接繼承獲取,這一點(diǎn)和maven不太一樣
但是我們只需要把需要給子模塊使用的jar包,用作用域包起來就可以實(shí)現(xiàn)子模塊也可以使用父項(xiàng)目中的jar依賴包了


總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
logback和log4j日志框架堆棧信息添加TraceId方式
這篇文章主要介紹了logback和log4j日志框架堆棧信息添加TraceId方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(33)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07
IDEA代碼熱部署和熱加載的三種實(shí)現(xiàn)方案
在日常開發(fā)中,我們需要經(jīng)常修改 Java 代碼,手動(dòng)重啟項(xiàng)目,查看修改后的效果,如果在項(xiàng)目小時(shí),重啟速度比較快,等待的時(shí)間是較短的,我們可以使用代碼熱加載和熱部署解決該問題,本文給大家介紹了三種實(shí)現(xiàn)方案,需要的朋友可以參考下2023-11-11
使用spring boot開發(fā)時(shí)java對(duì)象和Json對(duì)象轉(zhuǎn)換的問題
這篇文章主要介紹了使用spring boot開發(fā)時(shí)java對(duì)象和Json對(duì)象轉(zhuǎn)換的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
java線程之使用Runnable接口創(chuàng)建線程的方法
本篇文章介紹了,java中使用Runnable接口創(chuàng)建線程的方法。需要的朋友參考下2013-05-05
JAVA實(shí)現(xiàn)遍歷文件夾下的所有文件(遞歸調(diào)用和非遞歸調(diào)用)
本篇文章主要介紹了JAVA 遍歷文件夾下的所有文件(遞歸調(diào)用和非遞歸調(diào)用) ,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01

