我正在和我的朋友一起使用FXML开发JavaFX应用程序,一切正常,直到我们尝试执行我们的工作,据我所知,我们遇到了从未发生过的奇怪异常,问题是相同的代码在我的电脑上正常启动!
这是尝试启动代码 SignatureParser.current()时发生的情况,您将在下面找到更多详细信息
Thread [JavaFX Application Thread](Suspended(exception
ArrayOutOfBoundsException))
SignatureParser.current()
SignatureParser.parseZeroOrMoreThrowsSignatures()
SignatureParser.parseMethodTypeSignature()
SignatureParser.parseMethodSig(String)
MethodRepository(ConstructorRepository).parse(String)
MethodRepository(ConstructorRepository).parse(String)
MethodRepository(AbstractRepository<T>).<init>
MethodRepository(GenericDeclRepository<S>).<init>
MethodRepository(ConstructorRepository).<init>
MethodRepository.<init>(String, GenericsFactory)
MethodRepository.make(String, GenericsFactory)
Method.getGenericInfo()
Method.getGenericReturnType()
BeanAdapter.getGenericType(String)
FXMLLoader$PropertyElement.add(Object)
FXMLLoader$InstanceDeclarationElement(
FXMLLoader$ValueElement).processEndElement()
FXMLLoader.processEndElement()
FXMLLoader.loadImpl(InputStream, Class<?>)
FXMLLoader.loadImpl(Class<?>)
FXMLLoader.load()
Main.start(Stage)
LauncherImpl.lambda$launchApplication1$161(AtomicBoolean, Application)
519865426.run()
PlatformImpl.lambda$runAndWait$174(Runnable, CountDownLatch)
1293618474.run()
PlatformImpl.lambda$null$172(Runnable)
1493066385.run()
AccessController.doPrivileged(PriviledgedAction<T>, AccessControlContext)
PlatformImpl.lambda$runLater$173(Runnable, AccessControlContext)
156545103.run()
InvokeLaterDispatcher$Future.run()
WinApplication._runLoop(Runnable)
WinApplication.lambda$null$147(int, Runnable)
278934944.run()
Thread.run()
我不知道问题出在哪里,因为我们两个人都具有相同的IDE(Eclipse 2018-09)和JavaFX版本(8.0.192-b10),以及场景生成器(8.5.0)。
感谢您的帮助!
答案 0 :(得分:0)
很抱歉没有为我的问题添加一个最小的示例,事实证明在场景中添加任何javafx组件都会产生该问题,但是我们设法解决了这个问题,幸运的是,这仅仅是一个问题。 jdk冲突,我的朋友同时拥有jdk 8u191和8u192,这就是造成此问题的原因,我们通过删除旧版本并瞧瞧解决了这个问题!
重启计算机后,一切都恢复正常,因此更改将生效。
在这里发布问题后,我通常会找到解决问题的方法,但我希望将来对其他人有所帮助! :)