4

我已经安装了 Java 9 插件。我的项目没有改变,但是当我尝试运行时,我得到了这个:空的错误对话框

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

我的.log文件:https ://pastebin.com/SQXZVcQk

4

2 回答 2

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}"
    

    查看如何通过 Eclipse 启动(而不是覆盖它)将本机库添加到“java.library.path”以获取更多详细信息和特定于平台的解决方案。

    &&确保包含 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: 未处理的事件循环异常不再处理尝试中给出解决方案。

于 2017-08-28T06:07:30.953 回答
-2

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

选择使用项目特定的 JRE

于 2018-03-24T17:45:51.867 回答