最新版本Gradle 7.4.1
maven用着一直挺好使,以前也用过gradle,不过是玩玩,现在新版springboot直接默认就是集成gradle,于是用起来;
比较
gradle打包速度比maven要快,首次打包可能看不太出来,相差不太大;但是gradle增量打包那是飞一般的速度;
1.设置本地仓库
默认使用本地仓库,然后去中央仓库下载到本地;默认本地仓库的位置是:USER_HOME/.m2;
官方的说明:
Gradle 使用与 Maven 相同的逻辑来识别本地 Maven 缓存的位置。如果在 a 中定义了本地存储库位置settings.xml,则将使用此位置。settings.xmlinUSER_HOME/.m2优先于settings.xmlin M2_HOME/conf。如果 no 不可settings.xml用,Gradle 将使用默认位置USER_HOME/.m2/repository。
所以只需要设置环境变量M2_HOME为本地仓库地址,并且在conf中创建配置文件即可;
repositories {
mavenLocal()
mavenCentral()
}
2.设置打包名称及打包路径下的其他文件
war {
archiveFileName = 'wfcm-api.war'
}
processResources {
from('src/main/java') {
include '**/*.xml'
include '**/*.js'
}
}
3.修改打包后的war或jar位置
默认构建打包到build/libs/,新版命令,构建后进行执行copy
build{
doLast{
copy {
from 'target/libs'
into 'target'
include '*.war'
}
}
}
完整的配置示例:
plugins {
id 'org.springframework.boot' version '2.4.3'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'war'
}
group = 'net.wfkids'
version = '0.0.1-SNAPSHOT'
description = 'wfcm-api'
java.sourceCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = '1.8'
repositories {
mavenLocal()
mavenCentral()
}
bootWar {
archiveFileName = 'wfcm-api.war'
buildDir('target')
}
processResources {
from('src/main/java') {
include '**/*.xml'
include '**/*.js'
}
}
build {
doLast {
copy {
from 'target/libs'
into 'target'
include '*.war'
}
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
集成jrebel热部署注意点:
由于idea使用中,maven的编译文件在target/classes中;而gradle则是在out/中,随意修改下配置文件; rebel.xml
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_3.xsd">
<id>wfcm-api.main</id>
<classpath>
<dir name="D:/java/gradle/wfcm/out">
</dir>
</classpath>
</application>
本文由 GY 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2022/03/25 23:02