不是第一次接觸 java 的 java 開發人員,無法讓 gradle 作業。
我正在嘗試為 Ghidra安裝此擴展程式。自述檔案說我應該運行:
GHIDRA_INSTALL_DIR=${GHIDRA_HOME} gradle
我已經在 Mac 上安裝了 java 18 和 gradle。運行上述程式時,出現以下錯誤:
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :copyDependencies NO-SOURCE
> Task :compileJava FAILED
/home/gradle/project/src/main/java/ghidra/app/plugin/core/analysis/eBPFSolanaAnalyzer.java:156: error: text blocks are not supported in -source 11
func.setComment("""
^
(use -source 15 or higher to enable text blocks)
1 error
FAILURE: Build failed with an exception.
也嘗試用完 docker(認為這是我的安裝問題):
docker run --rm -u gradle -e GHIDRA_INSTALL_DIR=/home/gradle/project/installed -v "$PWD":/home/gradle/project -w /home/gradle/project gradle gradle
但唉,得到完全相同的錯誤。
為什么 gradle 認為我有 Java 11 而實際上我有 Java 18?gradle -v給我:
------------------------------------------------------------
Gradle 7.4.2
------------------------------------------------------------
Build time: 2022-03-31 15:25:29 UTC
Revision: 540473b8118064efcc264694cbcaa4b677f61041
Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 18.0.1.1 (Homebrew 18.0.1.1 0)
OS: Mac OS X 12.4 x86_64
這可能是完全新手問題,但就像我說的我從未接觸過 java :) 任何幫助都非常感謝。
uj5u.com熱心網友回復:
該錯誤意味著該專案已配置為與 Java 11 兼容,這就是為什么您不能使用較新版本的功能(即使您使用較新版本運行)。
雖然我不知道 Ghidra 專案,但您可以從擴展中的構建檔案中看到它應用了基礎專案中的腳本:
apply from: new File(ghidraInstallDir).getCanonicalPath() "/support/buildExtension.gradle"
然后,如果您前往 Ghidra 專案并找到擴展檔案,您可以看到它確實配置了源版本和目標版本:
compileJava {
sourceCompatibility = ghidraProps.getProperty('application.java.compiler')
targetCompatibility = ghidraProps.getProperty('application.java.compiler')
dependsOn copyDependencies
}
這些似乎來自位于Ghidra/application.properties的屬性檔案:
application.name=Ghidra
application.version=10.2
application.release.name=DEV
application.layout.version=1
application.gradle.min=6.8
application.java.min=11
application.java.max=
application.java.compiler=11
所以我想如果你在本地安裝中找到這個檔案,你可以將application.java.compiler屬性更改為 18。請注意,Ghidra 可能實際上并不支持它 - 或者它可能作業得很好;試試看 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/493344.html
