我已经安装了Java 9插件。我的项目没有改变,但是当我尝试运行时,我得到了这个:
如果您还需要其他任何内容,请随时评论您没有足够的信息。
我的.log
档案:https://pastebin.com/SQXZVcQk
答案 0 :(得分:3)
根据我的理解,似乎是一个配置问题。它有两个可能的原因/解决方案:
来自日志:
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的插件所必需的。
此外,日志读取
!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)