java反編譯工具jd-gui-osx?for?mac?M1芯片無(wú)法使用的問(wèn)題及解決
java反編譯工具jd-gui-osx for mac M1芯片無(wú)法使用
分享一下java一個(gè)反編譯工具,可視化界面的那種,比命令好很多哈
為什么會(huì)突然分享這個(gè)問(wèn)題呢,這源自于很久很久之前,你且聽(tīng)我慢慢道來(lái)~
其實(shí)事情是這樣式的,我的leader,那天問(wèn)我有沒(méi)有遇到過(guò)一個(gè)問(wèn)題,就是maven打出來(lái)的jar包,它沒(méi)有依賴包,只有自己寫(xiě)的代碼,別的工程都沒(méi)問(wèn)題,唯獨(dú)這個(gè)工程不行,總之,我和我的leader開(kāi)始了漫長(zhǎng)的查找原因,查找解決方案,嘗試各種解決方案的過(guò)程中,不斷打包,反編譯,去看有沒(méi)有打進(jìn)去依賴
吶,這個(gè)時(shí)候,就需要反編譯工具了,因?yàn)槲乙郧坝玫膚indows,windows的 jd-gui 是沒(méi)什么問(wèn)題的,但是mac,我失算了,網(wǎng)上找了好久的解決方案,都是說(shuō)加什么命令參數(shù),我都試了,結(jié)果都不行,最后還是隨便扒拉出來(lái)了怎么解決,然后就想分享給各位大佬們,寫(xiě)文章的時(shí)候,為了真實(shí),我還原了問(wèn)題,結(jié)果沒(méi)想到因?yàn)榱硪粋€(gè)問(wèn)題,又無(wú)法打開(kāi),于是我就也整合進(jìn)了這邊文章,所以本次分享包括兩個(gè)問(wèn)題,mac版反編譯工具無(wú)法打開(kāi)的兩個(gè)場(chǎng)景
下載jd-gui
第一步,我們需要下載下來(lái)這個(gè)反編譯工具,那都沒(méi)這個(gè)工具,更別說(shuō)出問(wèn)題解決了

問(wèn)題1:提示JDK版本需要1.8+
當(dāng)我們下載完了,興高采烈去打開(kāi)的時(shí)候,我們發(fā)現(xiàn)彈出了這個(gè)提示,說(shuō)沒(méi)有在我們的系統(tǒng)里找到j(luò)ava環(huán)境,需要1.8+的java環(huán)境

這個(gè)時(shí)候直接無(wú)語(yǔ)了,擺脫,沒(méi)有java環(huán)境我怎么開(kāi)發(fā)的?難道是我環(huán)境變量不對(duì)?
so,我們先看看環(huán)境變量配置了沒(méi)有,我們?cè)囈幌?/p>
java -version
然后我們拿到了如下響應(yīng)
java version "1.8.0_321" Java(TM) SE Runtime Environment (build 1.8.0_321-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
阿嘞嘞?我這不是有么,鬧鬼了
于是,嘗試重啟,重新打開(kāi),發(fā)現(xiàn)還是這樣,那該怎么辦呢?
別慌,我告訴你,你可以這么來(lái)~
右鍵 JD-GUI.app 圖標(biāo),選擇 顯示包內(nèi)容

然后它會(huì)打開(kāi)介么個(gè)包

進(jìn)去,找到 info.plist 文件

編輯它,把149行,這個(gè) 1.8+ ,改成1.8,保存,關(guān)閉

接下來(lái)緊張刺激的時(shí)刻到了!
重新打開(kāi)試試,你會(huì)笑的~

問(wèn)題2:提示需要安裝JDK
這個(gè)問(wèn)題和上面的其實(shí)不一樣啊,上面的說(shuō)JDK版本需要1.8,這個(gè)直接告訴你,我,需要JDK,你,直接沒(méi)有
因?yàn)槲沂情g斷寫(xiě)的這篇文章,所以和上面的圖會(huì)不大一樣,中間我換過(guò)JDK版本和反編譯工具
像我們打開(kāi),會(huì)有這種提示,當(dāng)然這是中文的,默認(rèn)是英文提示,你一點(diǎn)更多信息,它會(huì)跳轉(zhuǎn)到oracle官網(wǎng),讓你下JDK

和之前一樣,自我懷疑一波,我沒(méi)JDK?我拿意念開(kāi)發(fā)的?打開(kāi)看看,不出意外,又是一口血噴出來(lái),我有,我有,我有啊親,我有Java環(huán)境!

那沒(méi)辦法,人家不認(rèn)怎么辦呢?
來(lái),我們來(lái)解決介個(gè)問(wèn)題咯,老操作,打開(kāi)包,這次我們不找 info.plist 文件,我們找這個(gè)文件夾 MacOS

打開(kāi)它,里面有一個(gè)這個(gè)文件,打開(kāi),編輯它!

哎,就是257行,聲明了java命令地址,這個(gè),好像和我們對(duì)不上,擦,改了!改成我們的地址!

改完,保存,再次嘗試打開(kāi),不錯(cuò),打開(kāi)了哈哈哈哈

總結(jié)
以上就是我遇到過(guò)的兩個(gè)問(wèn)題,僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java發(fā)送kafka事務(wù)消息的實(shí)現(xiàn)方法
本文主要介紹了java發(fā)送kafka事務(wù)消息的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Java多線程Future松獲取異步任務(wù)結(jié)果輕松實(shí)現(xiàn)
這篇文章主要為大家介紹了Java多線程Future松獲取異步任務(wù)結(jié)果輕松實(shí)現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
SpringBoot項(xiàng)目的兩種發(fā)布方式
本文主要介紹了SpringBoot項(xiàng)目的兩種發(fā)布方式,包含jar包發(fā)布和war包發(fā)布,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Java實(shí)現(xiàn)的文件上傳下載工具類完整實(shí)例【上傳文件自動(dòng)命名】
這篇文章主要介紹了Java實(shí)現(xiàn)的文件上傳下載工具類,結(jié)合完整實(shí)例形式分析了java針對(duì)文件上傳下載操作的相關(guān)實(shí)現(xiàn)技巧,并且針對(duì)上傳文件提供了自動(dòng)命名功能以避免文件命名重復(fù),需要的朋友可以參考下2017-11-11
在Java中解析JSON數(shù)據(jù)代碼示例及說(shuō)明
這篇文章主要介紹了在Java中解析JSON數(shù)據(jù)的相關(guān)資料,文中講解了如何使用Gson和Jackson庫(kù)解析JSON數(shù)據(jù),并展示了如何將日期時(shí)間字符串轉(zhuǎn)換為時(shí)間戳,通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
spring boot使用thymeleaf跳轉(zhuǎn)頁(yè)面實(shí)例代碼
本篇文章主要介紹了spring boot使用thymeleaf跳轉(zhuǎn)頁(yè)面,實(shí)例介紹了thymeleaf的原理和介紹,有興趣的可以了解一下。2017-04-04
ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例
這篇文章主要為大家介紹了ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

