idea出現這個問題是一個由來已久的問題,但是idea一直沒有解決這個bug。
要解決這個問題,就要修改JetBrainsRuntime的源碼。我在網上看了一些教程,但是我的環境和别人的不太一樣,還是有點出入的。這裡記錄總結一下。
首先介紹一些我的環境:
作業系統:Ubuntu20.04虛拟機,16G記憶體
idea版本:2020.3.3
JDK版本;jdk1.8,這個是我自己配置的jdk的版本。
下面這張圖裡Runtime version 是我重新編譯後的版本。
下面編譯步驟:
第一步是先下載下傳:JetBrainsRuntime github連結:jetBrainsRuntime
然後是下載下傳:idea.patch idea.patch
下載下傳第一檔案的時候,很可能會出現逾時下載下傳不下來的情況,可以參考github加速通路這個連結裡面的内容下載下傳,使用gitee同步就可以。
下載下傳完成以後,把idea.patch複制到JetBrainsRuntime的根目錄下,然後
執行
git apply idea.patch
,我看有的部落格上寫要執行
git checkout cfc3e87f2ac27a0b8c78c729c113aa52535feff6
切換到這個具體的分支上,這一步我沒有執行。
接下來執行:
sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev openjdk-11-jdk
安裝必要的依賴以後,執行下面的指令,執行下面的指令的前提是已經進入了JetBrainsRuntime目錄。
sh ./configure --disable-warnings-as-errors
make images
接下來就是漫長的等待,然後就是提示你編譯成功,然後在JetBrainsRuntime目錄下的build/linux-x86_64-normal-server-release下的jdk檔案夾拷貝到指定目錄,這裡我拷貝到了/opt/IdeaJDK目錄下。
然後找到idea的安裝目錄,打開bin檔案夾下的idea.sh檔案,在檔案開頭加上:
export IDEA_JDK=/opt/IdeaJDK/jdk
然後就可以了。再打開idea就發現這個問題已經解決了。在參考連結2裡他的在配置編譯環境的時候,他的指令并沒有安裝open-jdk11,我最先開始是參考的這個,但是老是提示我編譯錯誤。使用了官方給的配置指令以後,就可以了。
參考連結1
參考連結2
最後附上我編譯後的jdk檔案壓縮包:
這個檔案有點大,除了百度雲的連結,我還放了阿裡雲,建議用阿裡雲
百度雲連額吉
連結:https://pan.baidu.com/s/1kDLresORdjsZEqxiT3MFWg
提取碼:g2ib
阿裡雲連結:阿裡雲好像不支援分享這種檔案
https://www.aliyundrive.com/s/2uFuGj7t63Z
把壓縮包下載下傳下來以後,解壓到相應的目錄就可以了,我沒想到這個檔案夾有這麼大。
後續:
我發現pycharm中文輸入也有這個問題,具體解決辦法也是修改這個,找到pycharm安裝目錄下bin檔案夾下的pycharm.sh檔案,然後添加:
export PYCHARM_JDK=/opt/IdeaJDK/jdk
這裡是PYCHARM_JDK,我本來是安裝上面的添加的,但是沒有用。