弹框报错:
An error has occurred.
See the log file
/Users/xxx/Documents/work/workspace_j2ee/.metadata/.log.
错误日志有:
!SESSION 2020-05-30 10:52:52.230 -----------------------------------------------
eclipse.buildId=4.4.2.M20150204-1700
java.version=13.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=zh_CN_#Hans
Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/xxx/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/xxx/.eclipse_keyring -showlocation
!ENTRY org.eclipse.osgi 4 0 2020-05-30 10:53:05.749
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/w3c/dom/stylesheets/StyleSheet
at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngineManager.getCSSSWTEngine(ThemeEngineManager.java:41)
。。。。。。
各种采坑:
1:网上文章都说windows下的,mac下找不到eclipse.ini
https://blog.csdn.net/ztx114/article/details/79745077
解决办法:找到安装目录下的
eclipse.ini
在其最后一行加上
--add-modules=ALL-SYSTEM
删除工作空间的.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
2:通过这个错误包搜索到一些没啥帮助的信息:
java.lang.NoClassDefFoundError: org/w3c/dom/stylesheets/StyleSheet
3: jdk版本是不是升级过? 又搜升级JDK后eclipse无法启动 https://www.cnblogs.com/humingliang/p/7583061.html
[Mac中jdk更新eclipse无法启动](https://blog.csdn.net/xiaohukun/article/details/78429305)
加 --add-modules=ALL-SYSTEM 重启无效
4:有没有可能配置多个jdk版本,eclipse用了环境变量的默认jdk版本?
## Mac下查看已安装的jdk版本及其安装路径
https://blog.csdn.net/qq_33657789/article/details/84036840
1、打开终端,输入:/usr/libexec/java_home -V
## 如何在Mac下配置多个Java版本并更换不同版本
https://blog.csdn.net/diaozhuo8378/article/details/101858395
正确方法:
上面3中的 说的-vm配置在我的eclipse.ini中没有(mac的eclipse.ini在Eclipse.app的显示包内容-Contents-MacOS里),也没有引起我的注意,直到又找半天看到一篇文章(https://www.minecraftforge.net/forum/topic/62951-eclipse-work-space-error/)里写了一句话给我了点启发:
java.version=9.0.4
You need Java 8 to do MC modding
我想我的错误日志里面是不是也说明了启动eclipse时的java环境了呢?
于是我回头看了日志 /Users/.../workspace_j2ee/.metadata/.log 发现果然有java.version=13.0.2
于是知道eclipse启动跟我环境变量里配置的没有关系,应该是eclipse自身启动配置里可以设置。
然后我按3的[Mac中jdk更新eclipse无法启动](https://blog.csdn.net/xiaohukun/article/details/78429305) 图示给我的 eclipse.ini增加了
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
为啥我知道要用jdk1.8.0_31.jdk而不是其他的呢?因为我的日志最早的是:
!SESSION 2016-11-11 16:41:20.992 -----------------------------------------------
eclipse.buildId=4.4.2.M20150204-1700
java.version=1.8.0_31
再重启eclipse就ok了。