我非常绝望,因为我不再能编译我的Maven项目.我有一个逻辑项目分成7个maven模块到目前为止编译得很好,但今天我介绍了一个功能,我不小心生成了一个循环maven依赖.因此,我重构了代码并消除了循环依赖.自从我更新了pom文件以反映我的项目不再构建的修复程序.当我使用"-X clean install"运行maven时,我得到以下java.lang.IllegalStateException:无法找到主类
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] agiletunes-parent
[INFO] agiletunes-util
[INFO] agiletunes-security-common
[INFO] agiletunes-marketing-persistence
[INFO] agiletunes-common-ui
[INFO] agiletunes-security-client
[INFO] agiletunes-marketing-application
[INFO] agiletunes-security-server
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building agiletunes-parent 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) @ agiletunes-parent ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ agiletunes-parent ---
[INFO] Installing C:\Users\Alexander\Documents\Development\agileTunes\agiletunes-parent\pom.xml to C:\Users\Alexander\Documents\Development\mavenArtifacts\com\agiletunes\agiletunes-parent\0.0.1\agiletunes-parent-0.0.1.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building agiletunes-util 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) …Run Code Online (Sandbox Code Playgroud)
我有一个 FXML 编辑器和一个控制器,它在树视图中选择时设置域对象。因此,每次在树视图中选择一个新对象时,控制器都会解除编辑器中所有控件与前一个对象的绑定,并绑定到新域对象的属性。这包括使用 setItems 从 ComboBox 中的域对象设置值。问题在于 setItems 会为项目列表中的每个项目触发 ComboBox 的 onAction 事件处理程序。据我了解, onAction 应该定义当用户从 ComboBox 中选择一个条目而不是在加载 ComboBox 时触发的代码?!
我可以通过使用鼠标释放事件或在 setItems 期间禁用 actionevent 的布尔信号量来解决这个问题。但是,由于我找不到其他人提出这个要求,我想知道是否有更普遍的问题,我最好向社区询问。
我在我的 OnAction 事件处理程序中创建了一个异常来打印堆栈跟踪 - 这帮助我理解我上面解释的内容。也许这个堆栈跟踪可以帮助您了解正在发生的事情/错误。第一行是在 FXML 中链接到 onActionEvent 的方法,堆栈跟踪中的最后一行是 ComboBox 的 setItems 调用:
at com.agiletunes.EditorCtrl.versionSelection(EditorCtrl.java:173)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) …Run Code Online (Sandbox Code Playgroud)