javafx - 尝试运行 javaFX 应用程序时缺少 javax.inject

标签 javafx inject

尝试运行 javaFX 应用程序时出现以下堆栈跟踪,如何解决此问题?到底是什么导致了这个问题?除了旧的 dataFX 库之外,我没有删除任何其他内容。我正在使用 eclipse 和最新版本的 java 以及 javaFX 插件。

Exception in Application start method

java.lang.reflect.InvocationTargetException

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 com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)

at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)

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.launcher.LauncherHelper$FXHelper.main(Unknown Source)

Caused by: java.lang.RuntimeException: Exception in Application start method

at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)

at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(Unknown Source)

at com.sun.javafx.application.LauncherImpl$$Lambda$48/1732398722.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NoClassDefFoundError: javax/inject/Inject

at io.datafx.controller.injection.InjectResourceType.getSupportedAnnotation(InjectResourceType.java:55)

at io.datafx.controller.context.ContextResolver.getAnnotatedControllerResourceTypes(ContextResolver.java:87)

at io.datafx.controller.context.ContextResolver.injectResources(ContextResolver.java:49)

at io.datafx.controller.ViewFactory.createByController(ViewFactory.java:171)

at io.datafx.controller.flow.FlowHandler.start(FlowHandler.java:140)

at io.datafx.controller.flow.Flow.startInStage(Flow.java:406)

at application.MainApp.start(MainApp.java:16)

at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(Unknown Source)

at com.sun.javafx.application.LauncherImpl$$Lambda$51/1285177093.run(Unknown Source)

at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Unknown Source)

at com.sun.javafx.application.PlatformImpl$$Lambda$45/1051754451.run(Unknown Source)

at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Source)

at com.sun.javafx.application.PlatformImpl$$Lambda$47/483857893.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown Source)

at com.sun.javafx.application.PlatformImpl$$Lambda$46/1775282465.run(Unknown Source)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)

at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source)

at com.sun.glass.ui.win.WinApplication$$Lambda$37/1109371569.run(Unknown Source)

... 1 more

Caused by: java.lang.ClassNotFoundException: javax.inject.Inject

at java.net.URLClassLoader$1.run(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

... 21 more

Exception running application application.MainApp

最佳答案

javax.inject是一个 JavaEE 框架,它不包含在 JavaSE 8 发行版中。您将需要一个与您的项目捆绑在一起的附加库,其中包括 javax.inject 实现。我相信afterburner.fx是 JavaFX 瘦框架的示例,其中包括 javax.inject 实现。

关于javafx - 尝试运行 javaFX 应用程序时缺少 javax.inject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28217034/

相关文章:

java - 单元测试时如何摆脱 @Inject 字段的 NPE?

spring - 注入(inject)用 Spring 扩展抽象类的类列表

google-chrome - Chrome 扩展 : How to detect if an extension is installed using Content Scripts

java - 减少 JavaFX RAM 使用

Javapackager 第二次部署 IOException

java - 替换 JavaFX 中的列排序

mysql - Wildfly 10 持久化 MySQL 表未找到

java - 向 JavaFX 折线图添加不连续点

java - 删除 JavaFx Textarea 的第一行

java - Spring 启动: Use @Autowired within a Quartz Job