maven 如何显示java.util.concurrent.完成异常的堆栈跟踪(使用JavaFX)

tvmytwxo  于 2022-12-17  发布在  Maven
关注(0)|答案(1)|浏览(157)

我正在开发一个Java库,用于基于JavaFX的Java GUI。在手动测试期间,我可能会生成以下错误,并打印到控制台-GUI挂起,但窗口保持打开状态:

java.util.concurrent.CompletionException: java.lang.IllegalStateException: Cannot load xxx.xxx.xxx.main.tab.editor.workspace.canvas.canvas

没有Stacktrace,没有行号,没有导致异常的类,没有我可以处理的东西。
我如何获得这个的堆栈跟踪?
我已经尝试了以下方法:

  • 我没有使用java -jar Application.jar运行打包的jar,而是尝试使用mvn exec:java -Dexec.mainClass="xxx.xxx.xxx.App"运行主类
  • 我尝试使用verbose标志:java -verbose -jar Application.jar
  • 在其他线程中,我尝试使用-XX:-OmitStackTraceInFastThrow标志

除了这一行之外,没有任何内容将错误消息更改为其他内容。
编辑:异常不会在项目自己的代码中捕获,但是它可能会被库捕获-所以我希望这可能是JavaFX自己做的事情,并且有一种方法可以修复它?我猜JavaFX应该是项目中并发的主要来源。

s3fp2yjn

s3fp2yjn1#

我找到了罪魁祸首,它确实是something JavaFX-y捕获错误的原因
异常中的类是一个JavaFX...模块 (“组件”,不管是什么,它有一个CanvasView和CanvasPresenter类,并且在一个包含所有资源(如.fxml和.properties文件)的文件夹中,很难搜索到基本概念)
异常在CanvasPresenterinitialize方法(CanvasPresenter实现Initializable接口)中抛出,在那里我可以将有问题的代码 Package 在try {...} catch(Exception e) {e.printStackTrace();}中并获得更多信息。

相关问题