JavaFX 应用程序无法在我朋友的电脑上启动
JavaFX application won't launch at my friend's pc
我和我的朋友一起使用 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$launchApplication11(AtomicBoolean, Application)
519865426.run()
PlatformImpl.lambda$runAndWait4(Runnable, CountDownLatch)
1293618474.run()
PlatformImpl.lambda$null2(Runnable)
1493066385.run()
AccessController.doPrivileged(PriviledgedAction<T>, AccessControlContext)
PlatformImpl.lambda$runLater3(Runnable, AccessControlContext)
156545103.run()
InvokeLaterDispatcher$Future.run()
WinApplication._runLoop(Runnable)
WinApplication.lambda$null7(int, Runnable)
278934944.run()
Thread.run()
我不知道问题出在哪里,因为我们都有相同的 IDE (Eclipse 2018-09) 和 JavaFX 版本 (8.0.192-b10),以及场景生成器 (8.5) .0).
感谢您的帮助!
很抱歉没有为我的问题添加一个最小的例子,事实证明 向场景添加任何 javafx 组件都会产生那个问题,但我们设法解决了这个问题,幸运的是,这只是一个 jdk 冲突,我的朋友同时拥有 jdk 8u191 和 8u192,这就是导致问题的原因,我们通过 删除旧版本 和瞧!
一切正常重启电脑后 ofc,所以更改会生效。
我经常在此处发布问题后找到问题的解决方案,但我希望它能对以后的其他人有所帮助! :)
我和我的朋友一起使用 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$launchApplication11(AtomicBoolean, Application)
519865426.run()
PlatformImpl.lambda$runAndWait4(Runnable, CountDownLatch)
1293618474.run()
PlatformImpl.lambda$null2(Runnable)
1493066385.run()
AccessController.doPrivileged(PriviledgedAction<T>, AccessControlContext)
PlatformImpl.lambda$runLater3(Runnable, AccessControlContext)
156545103.run()
InvokeLaterDispatcher$Future.run()
WinApplication._runLoop(Runnable)
WinApplication.lambda$null7(int, Runnable)
278934944.run()
Thread.run()
我不知道问题出在哪里,因为我们都有相同的 IDE (Eclipse 2018-09) 和 JavaFX 版本 (8.0.192-b10),以及场景生成器 (8.5) .0).
感谢您的帮助!
很抱歉没有为我的问题添加一个最小的例子,事实证明 向场景添加任何 javafx 组件都会产生那个问题,但我们设法解决了这个问题,幸运的是,这只是一个 jdk 冲突,我的朋友同时拥有 jdk 8u191 和 8u192,这就是导致问题的原因,我们通过 删除旧版本 和瞧!
一切正常重启电脑后 ofc,所以更改会生效。
我经常在此处发布问题后找到问题的解决方案,但我希望它能对以后的其他人有所帮助! :)