【问题标题】:Missing javax.inject when trying to run a javaFX application尝试运行 javaFX 应用程序时缺少 javax.inject
【发布时间】:2015-01-29 14:23:14
【问题描述】:

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

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

【问题讨论】:

    标签: javafx inject


    【解决方案1】:

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

    【讨论】:

    • @jewelsea 但是这个问题包含在DataFX框架中,是否可以将外部库添加到框架文件中?
    • “是否可以将外部库添加到框架文件中?”是什么意思?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 2013-01-17
    • 2017-01-11
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多