这个错误是Java报的错误,所以任何基于Java开发的东西都可能报这个错,
想看报错详情的 参考✅解决3(开启Minidumps查看报错信息)打开Minidumps,
然后再去解决自己的问题
我的错误主要是:
- Eclipse在pydev插件安装过程中闪退了,之后我再去安装,每次都会报错:
No core dump will be written. Minidumps are not enabled by default on client versions of Windows
- 后续安装
Remote Systems Explorer
插件的时候也报这个错了,但是多试了几次就好了,因此,这个错也有可能是网络原因造成的💢
解决3(开启Minidumps查看报错信息)✅
根据IDEA闪退Failed to write core dump. Minidumps are not enabled by default on client versions of Windows,考虑开启Minidumps来查找真正的错误原因。
对于JDK9及以上
- 对于任意操作系统上的JDK9及以上,如果要开启
core dumps
,只需要在Java launcher添加
-XX:+CreateCoredumpOnCrash
参数即可 。java -jar crasher.jar -XX:+CreateCoredumpOnCrash
- 反之,如果想关闭
core dumps
,将加号改成减号即可,即:-XX:-CreateCoredumpOnCrash
对于JDK8
- 如果是Windows上的JDK8,可以添加
-XX:+CreateMinidumpOnCrash
参数。即:java -jar crasher.jar -XX:+CreateMinidumpOnCrash
- 反之,如果想关闭,还是加号变减号,使用
-XX:-CreateMinidumpOnCrash
参数
在 POSIX 操作系统上运行的 JDK 8 中没有 JVM 参数来禁用核心转储。 相反,您必须在OS操作系统级别禁用核心转储。
其他系统自己去看文章 Failed to write core dump 里的命令,我这里就不多翻译了
最好以管理员身份运行命令行,然后执行上述命令,不然会报错:What causes “Unable to access jarfile” error?
参考:
- JetBrains官网文档:Exploring Windows minidumps
- CSDN博客:java项目中: Failed to write core dump. Minidumps are not enabled by default on client versions
- ✅ Failed to write core dump
解决5 (考虑离线安装)✅
- 直接去pydev的github主页:https://github.com/fabioz/Pydev/releases/tag/pydev_9_3_0
- 下载离线的
zip
包,解压后得到features
和plugins
两个文件夹,将其复制到eclipse目录下对应的features、plugins内。如没有features则直接复制到eclipse目录下。 - 重启eclipse,选择windows–>Preferences,查看是否出现pydev,有pydev则表示可正常运行pydev。
- 没有pydev该项,则将下载下来的pydev,解压后的plugins文件剪切到eclipse目录下
dropins
文件夹中。重启eclipse即可。(我是这种成功的)
参考:
- 百度知道:Eclipse中手动安装PyDev
- https://marketplace.eclipse.org/content/pydev-python-ide-eclipse
- pydev的github主页:https://github.com/fabioz/Pydev/releases/tag/pydev_9_3_0
解决4(修改jdk版本,未操作)
4.1 可能的原因
想起来当时安装的时候,一开始自己没有安装jdk,eclipse安装界面有如下显示
- 而我安装的是最新版本。。18.0.1,
- External提供的都是JRE,但是18.0.1只有JDK,没有JRE。
- 所以可能需要把版本改成 JRE17.0.2,重新安装。
参考:
- Eclipse 執行崩潰 報錯 Failed to write core dump. Minidumps are not enabled by default on client versions解決
4.2 Eclipse IDE 2022‑03 / JRE 18 ✅
在我安装eclipse的时候,
- eclipse的最新版本是Eclipse IDE 2022‑03
- Java的最新版本是JRE 18
4.2.2 有效安装 ✅
help
->Install new software
,输入https://download.eclipse.org/eclipse/updates/4.23-P-builds/
在显示的内容中选择 Eclipse Java 18 support
,我是直接安装了所有,其实没啥关系。
安装完之后,会让你重启,如果想确认自己是否安装成功,可以help
->about Eclipse IDE
,在弹出的界面中点击左下角的Install Details
其实上述界面左下角还有一个Update
,是因为IDE变了,所以其中的一些插件也需要更新。可以在这里更新,或者进入eclipse marketplace
的时候,也会提示你先进行更新。
同时,如果安装成功,eclipse marketplace
里的对应项也会提示Installed
这个插件安装成功之后,再去安装之前的pydev和RSE插件即可
4.2.1 无效安装 ❌
搜索Eclipse IDE 2022‑03 JRE 18
的时候发现,在eclipse marketplace中,有一个Java 18 Support for Eclipse 2022-03 (4.23)插件。
- 这个插件就是专门用于让
Java18
支持Eclipse 2022-03
版本的。 - 安装步骤:
help
->Eclipse marketplace
,搜索框中输入Java 18
,就可以看到这个插件了,安装的时候会有4项,直接按照默认的勾选前两个patch
的安装就行,不需要勾选多余的source patch
那两项。- 之后进度条动一会可能会提示:
- 然后就accept接受协议,然后让它自己安着就可以,可能和网速有点关系,安起来比较慢
- 安装完 重启即可,不过依然还是报错。。。
后来发现虽然安装了这个插件,但是插件市场里依然没有这个插件,再次安装,提示
也就是需要更新其他插件来适应这个新安装的java 18插件。
4.5 修改eclipse的下载镜像
由于在4.3 后续问题中一直由于网络原因导致安装插件失败,
因此,感谢CSDN博客:Eclipse配置国内镜像源
4.5.1 测试镜像
先测试是否可以ping
通这个镜像,或者是否可以在浏览器中打开镜像。
- 以
http://mirrors.ustc.edu.cn/eclipse/
为例,直接在浏览器打开这个网页,一般都可以打开 - 打开
cmd
命令行,ping的时候注意只需要IP地址对应的部分,即:mirrors.ustc.edu.cn
- 可以看到,速度非常快,捎带可以比较一下如果使用官方的下载,
http://download.eclipse.org/
,速度就会慢差不多20倍的样子
4.5.2 修改eclipse默认镜像为国内镜像
修改Eclipse插件地址为镜像地址,
Eclipse -> Window -> Preferences -> Install/Update -> Available Software Sites
- 修改
Name
为Eclipse Respository
的Location,
- 这里我并没有找到这个
name
,但是发现2022-03
这两项很像。因此对这两项进行修改
- 修改时可以捎带看一下,对应的镜像内容中确实有这些东西,http://mirrors.ustc.edu.cn/eclipse/releases/2022-03/
- 改了之后再去安装东西,可以看到确实有一部分内容是从镜像下载了
除此之外,还有其他几项也可以修改为国内镜像。包括
https://download.eclipse.org/technology/epp/packages/2022-03/202203101200
修改为http://mirrors.ustc.edu.cn/eclipse/technology/epp/packages/2022-03/202203101200/
,后者可以通过浏览器进行访问,点击这里http://download.eclipse.org/usssdk/updates/release/latest
这个连接在北理工的镜像里也有,http://mirrors.ustc.edu.cn/eclipse/usssdk/updates/release/latest/
- 如果懒得修改,直接把这些北理工镜像里有的内容,
Disable
(前面的勾去掉),新建一个北理工的镜像链接。
北理工和中科大镜像里含有的内容除了上述两个链接外,还有
- org.eclipse.tm.site——http://mirrors.ustc.edu.cn/eclipse/tm/updates/4.5.0/repository/
- Oomph Latest Milestone——http://mirrors.ustc.edu.cn/eclipse/oomph/updates/latest/
- Latest Eclipse Simultaneous Release——http://mirrors.ustc.edu.cn/eclipse/releases/latest/
- Latest Eclipse IDE Packages Release ——http://mirrors.ustc.edu.cn/eclipse/technology/epp/packages/latest/
- Eclipse Kepler repository——http://mirror.bit.edu.cn/eclipse/releases/kepler/
最后改完大概是这样
参考:
但是很奇怪,即便配置好了,在使用marketplace
时,还是会自动新建之前的那些默认镜像。
4.3 后续安装
4.3.1 Remote Systems Explorer(RSE)安装
使用刚刚改过的这个镜像——http://mirrors.ustc.edu.cn/eclipse/tm/updates/4.5.0/repository/
4.3.1 pydev安装
建议尝试以下镜像:
- http://pydev.sourceforge.net/pydev_update_site/9.3.0
- https://pydev-9-3-0.surge.sh
- https://github.com/fabioz/Pydev/releases/download/pydev_9_3_0/
- 这几个网址逐个ping一遍,哪个好选哪个吧
在marketplace
安装的时候,经常会提示
网络问题,多安装几次就行了。
根据Pydev官方文档:Install可知,也还是可以使用help
->Install new software
,输入"Eclipse Project Test Site" - http://www.pydev.org/updates/
有了安装 java 18 support的经验,使用Install new software,比使用marketplace靠谱
这个Eclipse Project Test Site" - http://www.pydev.org/updates/
需要的时间可能会比较久,要多等一会。
全选并安装,如果还是报错,那说明网络确实不行。
- 使用How to install Python PyDev plugin in Eclipse,去进行离线安装吧,
- Pydev官方文档:Install中也提到了离线安装这种方式,
- 所以是一种很正常的方式。
4.4 Dosgi.requiredJavaVersion=11❌
后来还注意到报错信息中含有Dosgi.requiredJavaVersion=11
这样的字眼
参考:[Fixed] Incompatible JVM. Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required in Eclipse
切换到自己的Java安装目录,例如C:\Program Files\Java\jdk-18.0.1\bin\
,在命令行中输入:
javaw.exe -vmargs -Dosgi.requiredJavaVersion=11
但是报错:
Error:Could not create the Java Virtual Machine.
Error:A fatal exception has occurred.Program will exit.
尝试去eclipse目录里找到eclipse.ini
文件,其实可以看到,报错的开头就是这个文件里的内容。
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
C:/Users/XXX/.p2/pool/plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.400.v20211117-0650
-product
org.eclipse.epp.package.java.product
-showsplash
C:\Users\XXX\.p2\pool\plugins\org.eclipse.epp.package.common_4.23.0.20220310-1200
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
解决6 直接搜索eclipse闪退✅
6.1 修改eclipse
安装目录下的eclipse.ini
文件
-
-vmargs之前添加-vm java.exe 的绝对路径(例如:C:/java/jdk/bin/java.exe)
-
整体类似这样:
--launcher.appendVmargs -vm C:\Program Files\Java\jdk-18.0.1\bin\java.exe -vmargs -Dosgi.requiredJavaVersion=11 -Dosgi.instance.area.default=@user.home/eclipse-workspace -Dsun.java.command=Eclipse
-
注意,添加这个启动后,eclipse打开的同时会有一个命令行也打开,不要关闭那个命令行,关了eclipse也会被关闭。
-
在这个状态下,配置好pydev的python环境。
-
配置结束后,再把添加的这行内容去掉。
如果还是报错,换一个workspace
WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign org.eclipse.m2e.logback.configuration:
Activated before the state location was initialized. Retry after the state location is initialized.
org.eclipse.m2e.logback.configuration: Logback config file:
D:\EclipseWorkSpace\.metadata\.plugins\org.eclipse.m2e.logback.configuration\logback.1.16.3.20211002-1029.xml
org.eclipse.m2e.logback.configuration: Initializing logback
6.2 直接对启动项的快捷方式进行设置
这样做的效果其实和6.1一样
- E:\SoftWare\Myclipse\eclipse\eclipse.exe -vm “C:\Program Files\Java\jdk-18.0.1\bin\javaw.exe” -data D:\eclipseWS
- 就是在eclipse快捷方式启动项里,在
目标
这个字段后面跟上 java.exe的路径和自己的workspace
路径
6.3 结论
必须在eclipse.ini
文件中一直加入-vm C:\Program Files\Java\jdk-18.0.1\bin\java.exe
,不然打开的内容中依然无法点击python的interpreter。
无效-解决2❌
大部分回答都是删除自己的workspace中的.metadata,但是还是没用。
无效-解决1 ❌
根据参考博客大概确认是插件的问题,
- 根据Where are plugins/tools installed from the Eclipse marketplace located on linux? (Mars)可知,
- eclipse插件的位置大概就是
C:\Users\yourname\.eclipse\org.eclipse.oomph.p2\
这个目录,在cache
下,可以看到与刚刚下载的pydev
有关的文件。
另外,根据,在报错信息中可以看到:
- 根据上面的目录,其实
eclipse
的插件目录应该是在C:\Users\XXX\.p2\pool\plugins
,但是删除之后无效
参考: