欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

找不到正確的java_home路徑報錯解決

 更新時間:2023年07月10日 14:15:15   作者:ytKing  
本文主要介紹了找不到正確的java_home路徑報錯解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

問題由來

在使用homebrew安裝jadx后無法正常啟動,報錯如下:

example % jadx Original\$\$EnhancerByCGLIB\$\$818cf910.class

ERROR: JAVA_HOME is set to an invalid directory: @@HOMEBREW_JAVA@@
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

看報錯的字面意思表示找不到jdk的路徑,但是查看java版本以及路徑配置:

~ % java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-39)
OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)
~ % vim ~/.bash_profile
...
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
...

發(fā)現(xiàn)并沒有什么問題,那么是什么導致jadx找不到正確的路徑呢?

問題排查

首先查看jadx的安裝位置,由于是通過homebrew安裝,通過如下命令可以查看jadx的安裝路徑:

~ % brew list jadx?????????????????????????
/opt/homebrew/Cellar/jadx/1.4.7/bin/jadx
/opt/homebrew/Cellar/jadx/1.4.7/bin/jadx-gui
/opt/homebrew/Cellar/jadx/1.4.7/libexec/bin/ (4 files)
/opt/homebrew/Cellar/jadx/1.4.7/libexec/lib/ (51 files)

進入bin目錄后vim查看一下jadx文件:

~ % vim jadx
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-@@HOMEBREW_JAVA@@}" exec "/opt/homebrew/Cellar/jadx/1.4.7/libexec/bin/jadx"??"$@"

可以看到啟動命令中的JAVA_HOME變成了-@@HOMEBREW_JAVA@@,正好對應上了上面的報錯。

解決方案

第一種:暴力解決法

最快的方式就是直接修改啟動命令,由于是只讀文件,先修改權限:

bin % sudo chmod 777 jadx

然后拿到上文中找到的正確的java_home的值替換-@@HOMEBREW_JAVA@@,替換后的啟動命令如下:

#!/bin/bash
JAVA_HOME="${JAVA_HOME:-/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home}" exec "/opt/homebrew/Cellar/jadx/1.4.7/libexec/bin/jadx"??"$@"

替換后即可正常使用jadx。

第二種:正常解決法

想要正常的解決得先知道這個錯誤發(fā)生的原理,我們國內(nèi)的用戶使用homebrew時一般都是配置了國內(nèi)的鏡像源來提速的,而問題就出在國內(nèi)的鏡像源上了,從國內(nèi)鏡像安裝依賴于 Java 的某些配置目前無法正常工作,正常來說@@HOMEBREW_JAVA@@是會被替換掉的,但是因為使用了國內(nèi)的鏡像源導致沒有正常的被替換。而brew需要清單才能正確替換@@HOMEBREW_JAVA@@,但brew只知道如何從ghcr.io 獲取清單。

查看 HOMEBREW_BOTTLE_DOMAIN 如下:

bin % echo $HOMEBREW_BOTTLE_DOMAIN???????????????
https://mirrors.ustc.edu.cn/homebrew-bottles/bottles

想要正確安裝只需要使用如下命令即可:

~ % HOMEBREW_BOTTLE_DOMAIN= brew reinstall kafka

最后附上github上對于此問題的相關討論:討論鏈接

到此這篇關于找不到正確的java_home路徑報錯解決的文章就介紹到這了,更多相關java_home路徑報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java操作pdf文件的方法大全

    Java操作pdf文件的方法大全

    這篇文章主要為大家詳細介紹了Java操作pdf文件的相關知識,例如合并pdf文件,手繪pdf文件以及導出PDF文件等,有需要的小伙伴可以參考一下
    2024-04-04
  • SpringMVC?@RequestMapping注解詳解

    SpringMVC?@RequestMapping注解詳解

    本文主要介紹了SpringMVC?@RequestMapping注解詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • spring?boot集成WebSocket日志實時輸出到web頁面

    spring?boot集成WebSocket日志實時輸出到web頁面

    這篇文章主要為大家介紹了spring?boot集成WebSocket日志實時輸出到web頁面展示的詳細操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • SpringBoot實現(xiàn)接口防刷的五種方案

    SpringBoot實現(xiàn)接口防刷的五種方案

    接口防刷是保障系統(tǒng)安全與穩(wěn)定性的重要措施,惡意的高頻請求不僅會消耗服務器資源,還可能導致數(shù)據(jù)異常,甚至系統(tǒng)癱瘓,本文將介紹在SpringBoot框架下實現(xiàn)接口防刷的5種技術方案,需要的朋友可以參考下
    2025-04-04
  • Java 8 對 HashSet 元素進行排序的操作方法

    Java 8 對 HashSet 元素進行排序的操作方法

    Java 中HashSet是一個不保證元素順序的集合類,其內(nèi)部是基于 HashMap 實現(xiàn)的,HashSet不支持排序,我們在需要對HashSet 排序時,必須將其轉換為支持排序的集合或數(shù)據(jù)結構,如 List,本文將詳細介紹在 Java 8 中如何對 HashSet 中的元素進行排序,感興趣的朋友一起看看吧
    2024-11-11
  • 如何解決IDEA中JSP頁面部分出現(xiàn)綠色背景色問題

    如何解決IDEA中JSP頁面部分出現(xiàn)綠色背景色問題

    這篇文章主要介紹了如何解決IDEA中JSP頁面部分出現(xiàn)綠色背景色問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot整合Shiro的方法詳解

    SpringBoot整合Shiro的方法詳解

    Apache?Shiro是一個java安全(權限)框架,Shiro可以非常容易的開發(fā)出足夠好的應用,其不僅可以用在javase環(huán)境,也可以用在javaee環(huán)境。本文介紹了SpringBoot整合Shiro的方法,需要的可以參考一下
    2022-05-05
  • spring在service層的方法報錯事務不會回滾的解決

    spring在service層的方法報錯事務不會回滾的解決

    這篇文章主要介紹了spring在service層的方法報錯事務不會回滾的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java多線程Thread基礎學習

    Java多線程Thread基礎學習

    每一個正在執(zhí)行的程序都是一個進程,資源只有一塊,所以在同一時間段會有多個程序同時執(zhí)行,但是在一個時間點上,只能由一個程序執(zhí)行,多線程是在一個進程的基礎之上的進一步劃分,需要的朋友可以參考下
    2023-04-04
  • 詳解spring整合hibernate的方法

    詳解spring整合hibernate的方法

    這篇文章主要介紹了spring整合hibernate的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02

最新評論