- 錯誤1:
gradle項目控制台輸出為亂碼
# 在gradle-wrapper.properties 添加以下内容
org.gradle.jvmargs=-Dfile.encoding=UTF-8
# 點選help->edit custom vm options 添加以下内容
-Dfile.encoding=UTF-8
# file -> settings -> Build Tools —> Gradle -> 把build and run using 和Run tests using 都改為Intelij IDEA
- 問題1
Q1:建立一個gradle項目,将其作為父工程,父工程中有src目錄;在此之上建立子子產品時使用spring boot快速建構,那麼該子子產品不會與父工程關聯
A1:建立父工程或子子產品都應該使用gradle建構
- 問題2
Q2:編譯時報錯:Spring Boot plugin requires Gradle 5 (5.6.x only) or Gradle 6 (6.3 or later). The current version is
A2:嘗試修改為可以用的版本 -->
- 問題3
Q3:編譯時報錯:A problem occurred evaluating root project ‘xxxxx‘.
A3:錯誤原因如下:
例如在父工程的build.gradle中有如下配置
// 二進制插件
plugins {
id 'java'
id 'org.springframework.boot' version '2.4.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}
// 子項目的通用配置
subprojects {
// 使用插件
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
}
# 如果将plugins中的id 'org.springframework.boot' version '2.4.0'注釋了,那麼subprojects中的apply plugin: 'org.springframework.boot'就會找不到,導緻報如上的錯誤
- 問題4
Q4:編譯時報錯:Circular dependency between the following tasks.
A4:互相依賴導緻的報錯
例如在父工程中引入了公共子產品編譯後的包
dependencies {
implementation project(':common-api')
}
而公共子產品作為子子產品又依賴于父工程
解決方案就是讓其中一方不依賴于另一方
- 問題5
Q5:編譯時報錯:[ERROR]all buildscript {} blocks must appear before any plugins {} blocks in the script
A5:buildscript塊必須出現在plugins塊之前
- 問題6
Q6:gradle中某些依賴無法導入,呈灰色顯示:No candidates found for method call mavenBom.
解決方案:本地安裝的gradle版本確定與idea中的gradle版本一緻
- gardle運作main方法報錯:
finshed with non-zero wxit value 1