太长不看版:
找到新版idea在C盘 用户/当前用户 文件夹下的 idea64.exe.vmoptions,编辑,将其中承接旧版的破解补丁命令删除即可
类似于 -javaagent:C:\……\jetbrains-agent-v3.1.3.0cd4.033
之前装了idea2019,最近想试试2022版本。结果无论是win.zip解压版还是.exe安装版,点击idea\bin下的idea64.exe都没有反应。
看了看解压版的 Install-Windows-zip.txt 文件,发现启动和同目录下的idea.bat有关系。就尝试运行了一下,结果是bat传统的一闪而过。
细看idea.bat的内容,大体是常规的获取变量拼参数再执行。于是逐段加pause看,最后定在脚本最后。显示错误信息如下
CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:491)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:503)
Caused by: java.util.ConcurrentModificationException: java.lang.ClassNotFoundException: com.licel.b.Z@
at fuck_the_regulations_v313.cH.<clinit>(cH.java)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.licel.b.Z@
at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:209)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
... 7 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at s\src\java.instrument\share\native\libinstrument\JPLISAgent.c line: 422
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
看得不太懂,不过其中的 fuck_the_regulations_v313.cH 让我感觉和之前2019版打的补丁有关系,并且还 ClassNotFoundException。但是这是新版,还没有加破解程序呢。
另:这个fuck给我一种桀骜、冲动、自信的感觉,一种与四平八稳写程序,构建秩序世界截然不同的风格。嗯,或者是中二,或者是狂妄,自有一种活力在里面。
然后尝试打印了脚本中的几个变量,
echo %CLASS_PATH%
echo %ACC%
echo %IDE_PROPERTIES_PROPERTY%
输出的一堆信息,就有 -javaagent:C:\Users\Public.jetbrains\jetbrains-agent-v3.1.3.0cd4.0330
打过补丁的看这个javaagent肯定眼熟,之后思路就很通顺了。
这一行对应变量ACC,找到赋值的地方,ACC大约从%VM_OPTIONS_FILE%赋值,%VM_OPTIONS_FILE%应该等于各种路径下的idea64.exe.vmoptions。idea安装目录下的idea64.exe.vmoptions没有什么特殊,在C盘的用户文件夹搜索,有结果。并且把2019版和2022版的idea64.exe.vmoptions都搜出来了,里面都有
-javaagent:C:\Users\Public.jetbrains\jetbrains-agent-v3.1.3.0cd4.033
删掉这一行就好了。
至于为什么旧配置会加在新配置里,有人说是idea自己加的
这篇文章讲得比我细《记录一次idea 2021.2启动不了 fuck_the_regulations_v320.en.b(en.java)》
版权归原作者 刘冲溟 所有, 如有侵权,请联系我们删除。