用 patch 命令打呢?git apply 对补丁的要求很严格。
感谢回复, 对git不是很了解,每天只知道用.我最终研究了一下,发现了Intellij-IDEA有自带的git apply功能.
后面按着9L兄弟的说明一路过去,最终成功了...我也不谈什么辛酸史了, 感觉比9L还辛酸...
我在这里补充一下地址我弄好之后的, 我是把他解压后, 放到/usr/lib/jvm, 然后执行sudo archlinux-java set java-11.0.7-jetbrain
9L兄弟的替换启动jdk在我这里没用, 我就只能替换电脑的默认jdk了...
也不知道会不会吞链接前面的自己补充
百度云链接: /s/1nUVPhXmgRqPBDe_8MeO-BQ
密码: rjg4
离线
依云 说:用 patch 命令打呢?git apply 对补丁的要求很严格。
感谢回复, 对git不是很了解,每天只知道用.我最终研究了一下,发现了Intellij-IDEA有自带的git apply功能.
后面按着9L兄弟的说明一路过去,最终成功了...我也不谈什么辛酸史了, 感觉比9L还辛酸...
我在这里补充一下地址我弄好之后的, 我是把他解压后, 放到/usr/lib/jvm, 然后执行sudo archlinux-java set java-11.0.7-jetbrain
9L兄弟的替换启动jdk在我这里没用, 我就只能替换电脑的默认jdk了...也不知道会不会吞链接前面的自己补充
百度云链接: /s/1nUVPhXmgRqPBDe_8MeO-BQ
密码: rjg4
git命令遇到这个错误 trailing whitespace 可以参考报错信息到对应行去删除末尾空白和tab,遇到打补丁失败是因为已经打上了,不可重复打补丁
如果想要完全无报错,可以先删所有空白字符,然后 git checkout . 恢复原状再 git apply idea.patch
至于修改运行jre,可以参考 13楼的兄弟安装插件,亲测可用,自定义jdk比修改电脑默认jdk更灵活,免得影响其他应用
离线
亲测在idea上是可以的,但是我用的是android studio,唉,算了,不折腾了
Casper.Huk 说:cwfzc 说:Casper.Huk 说:这个我今天刚解决,需要给jdk打个patch重新编译一下
请问能给个思路吗?我一直在找这个问题的解决方法,编译过JetBrainsRuntime,但是失败了。
其实解决这个问题的过程还挺曲折的,我不打算直接给出顺利的解决方案,所以建议先看完,再动手操作,否则会踩老坑,以下是折腾记录:
问题:fcitx搜狗输入法在idea环境中文输入不跟随光标
解决方案参考链接: https://blog.csdn.net/u011166277/articl … /106287587
辛酸史:
先下载JetBrainsRuntime源码,https://github.com/JetBrains/JetBrainsRuntime
因为github很慢,所以到https://gitee.com/上导入github进行下载,还有两种下载方式,教程都在https://zhuanlan.zhihu.com/p/121015450
代下载网站https://shrill-pond-3e81.hunsh.workers.dev/ http://g.widyun.com/ 网速慢的话容易过期
下载完JetBrainsRuntime之后下载idea.patch https://github.com/prehonor/myJetBrainsRuntime
然后把idea.patch拷贝到JetBrainsRuntime根目录
git checkout cfc3e87f2ac27a0b8c78c729c113aa52535feff6 (这一步经过测试,并不需要,用最新的就好)
git apply idea.patch
然后根据官方教程编译就行了,但是,别信官方的,经过测试docker打包出现未知错误,还不知道咋查,ubuntu版本低了还不行,一会儿404,一会儿缺jdk11,拖过来一个jdk11又说glibc版本不够,安装glibc直接整个系统挂了,所有命令都不能用了,所以还是开个虚拟机,直接上ubuntu20吧,然后按照官方的教程编译
$ 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
$ cd JetBrainsRuntime
$ sh ./configure --disable-warnings-as-errors
$ make images
你以为这就完了吗?中途会直接出现killed错误,所以,内存至少2G,swap单开一个3G的
$ dd if=/dev/zero of=swapfile bs=1024 count=3*1024*1024
$ sudo mkswap swapfile
$ sudo swapon swapfile
$ free -h
然后照常make images,编译完了之后,会生成jdk,从虚拟机中拷贝出来
sudo scp -o PasswordAuthentication=yes -r 用户名@虚拟机ip:/home/用户名/JetBrainsRuntime/build/linux-x86_64-normal-server-release/images/jdk /usr/lib/jvm/java-11.0.7-jetbrains
如果你以为按照教程里export IDEA_JDK=/usr/lib/jvm/java-11.0.7-jetbrains 就可以启动,那就又错了,还会报错
/usr/lib/jvm/java-11.0.7-jetbrains/bin/java: symbol lookup error: /usr/lib/jvm/java-11.0.7-jetbrains/lib/libnio.so: undefined symbol: initInetAddressIDs
你以为只要ldd 看到libjvm.so => not found就应该把/usr/lib/jvm/java-11.0.7-jetbrains/lib/server/libjvm.so 加到环境变量就行了?不,亲自试验过了,没用,对比了一下正常启动的idea,发现libnet.so路径不对,正常要取jdk里的,于是又加入环境变量,这回启动两次居然直接crash了
最后,经过一系列折腾,搞出一个最佳解决办法,修改启动文件
$ sudo vim /opt/intellij-idea-ultimate-edition/bin/idea.sh
在开头加上
export LD_LIBRARY_PATH=/usr/lib/jvm/java-11.0.7-jetbrains/lib:$LD_LIBRARY_PATH && export IDEA_JDK=/usr/lib/jvm/java-11.0.7-jetbrain
这回终于能启动成功了,编译好的jdk最好保存一下,别再这么折腾了
13楼给出了更好的解决方案,亲测在android studio上有效,安装choose runtime之后通过Actions输入choose runtime进行切换
离线
打上 https://github.com/prehonor/myJetBrainsRuntime 的 patch 之后,基本上没问题了。不过还有一个小问题,就是在 idea 下方的 terminal 中用 fcitx 输入中文时输入框会出现在屏幕左上角,不知道大家会不会有这种情况。
离线
有大佬编译出来了,直接下载替换就可以了,我刚试过了,舒服多了
https://github.com/RikudouPatrickstar/J … 4/releases
最近编辑记录 riven777 (2021-04-09 22:32:19)
离线
在2021.2 中用这个补丁是不是有异常? 像是 webstorm的颜色选择器不出来, 具体见 https://youtrack.jetbrains.com/issue/IDEA-277485/
我切换到官方的runtime后就正常了
最近编辑记录 voghost (2021-09-10 23:18:51)
离线