Eclipse使用Java 9显示空错误消息

时间:2017-08-27 18:04:28

标签: java eclipse eclipse-jdt java-9 eclipse-oxygen

我已经安装了Java 9插件。我的项目没有改变,但是当我尝试运行时,我得到了这个:Empty error dialog

如果您还需要其他任何内容,请随时评论您没有足够的信息。

我的.log档案:https://pastebin.com/SQXZVcQk

2 个答案:

答案 0 :(得分:3)

根据我的理解,似乎是一个配置问题。它有两个可能的原因/解决方案:

  1. 来自日志:

    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的插件所必需的。

  2. 此外,日志读取

    !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$1.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尝试解决方案。

答案 1 :(得分:-1)

在eclipse中收到相同的错误我通过选择此选项而不是默认选项(通过快照中的红色箭头突出显示)来修复它

Use a project specific JRE is selected