Eclipse 显示带有 Java 9 的空错误消息
Eclipse shows empty error message with Java 9
我已经安装了 Java 9 插件。我的项目没有改变,但是当我尝试 运行 时,我得到这个:
如果您需要其他任何信息,请随时评论您没有足够的信息。
我的 .log
文件:https://pastebin.com/SQXZVcQk
根据我的理解,这似乎是配置问题。有两种可能causes/solution:
来自日志:
Root exception:
java.lang.ExceptionInInitializerError
at com.jniwrapper.util.ProcessorInfo.b(SourceFile:95)
Caused by: com.jniwrapper.LibraryNotFoundException: Cannot find JNIWrapper native library (jniwrap64.dll) in java.library.path:
Eclipse 无法正确配置 java.library.path
,在这种情况下,您可以尝试在命令行中使用以下命令设置 VM 参数:
-Djava.library.path="${workspace_loc:project}\lib;${env_var:PATH}"
查看 How to add native library to "java.library.path" with Eclipse launch (instead of overriding it) 了解更多详细信息和特定于平台的解决方案。
&&
确保包含 jdk-9 早期访问版本的路径,理想情况下,它应该是基于 Java9.[=20= 使用的插件所必需的]
此外,日志显示
!ENTRY org.eclipse.ui 4 0 2017-08-27 09:22:31.358
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: -1
at es.org.chemi.games.snake.ui.GameField.createGameField(GameField.java:217)
at es.org.chemi.games.snake.ui.GameField.controlResized(GameField.java:99)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:236)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
对于相关代码,您可能需要查看以下代码的实现
createGameField at GameField.java:217
。如果这不是专门发生在以前的 java 版本上,那么解决 (1) 应该摆脱这个,否则你可能想尝试 Eclipse Bug: Unhandled event loop exception No more handles 的解决方案。
在 eclipse 中收到相同的错误后,我通过选择此选项而不是默认选项(快照中的红色箭头突出显示)来修复它
我已经安装了 Java 9 插件。我的项目没有改变,但是当我尝试 运行 时,我得到这个:
如果您需要其他任何信息,请随时评论您没有足够的信息。
我的 .log
文件:https://pastebin.com/SQXZVcQk
根据我的理解,这似乎是配置问题。有两种可能causes/solution:
来自日志:
Root exception: java.lang.ExceptionInInitializerError at com.jniwrapper.util.ProcessorInfo.b(SourceFile:95) Caused by: com.jniwrapper.LibraryNotFoundException: Cannot find JNIWrapper native library (jniwrap64.dll) in java.library.path:
Eclipse 无法正确配置
java.library.path
,在这种情况下,您可以尝试在命令行中使用以下命令设置 VM 参数:-Djava.library.path="${workspace_loc:project}\lib;${env_var:PATH}"
查看 How to add native library to "java.library.path" with Eclipse launch (instead of overriding it) 了解更多详细信息和特定于平台的解决方案。
&&
确保包含 jdk-9 早期访问版本的路径,理想情况下,它应该是基于 Java9.[=20= 使用的插件所必需的]此外,日志显示
!ENTRY org.eclipse.ui 4 0 2017-08-27 09:22:31.358 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.ArrayIndexOutOfBoundsException: -1 at es.org.chemi.games.snake.ui.GameField.createGameField(GameField.java:217) at es.org.chemi.games.snake.ui.GameField.controlResized(GameField.java:99) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:236) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
对于相关代码,您可能需要查看以下代码的实现
createGameField at GameField.java:217
。如果这不是专门发生在以前的 java 版本上,那么解决 (1) 应该摆脱这个,否则你可能想尝试 Eclipse Bug: Unhandled event loop exception No more handles 的解决方案。
在 eclipse 中收到相同的错误后,我通过选择此选项而不是默认选项(快照中的红色箭头突出显示)来修复它