当前位置: 首页 > 知识库问答 >
问题:

NoClassDefFounderRorr:TornadofFx/View

郎雅昶
2023-03-14
Executing: C:\Users\xx\Documents\EXEkonfig\xxx.exe

Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$154(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.NoClassDefFoundError: tornadofx/View
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at Creator.start(Creator.java:55)
at      com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
... 1 more

Caused by: java.lang.ClassNotFoundException: tornadofx.View
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 22 more
Exception running application Creator
<?xml version="1.0" encoding="UTF-8"?>
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>C:\XX\XXXX\Kotlin\build\install\CREATOR\CREATOR-1.0-SNAPSHOT.jar</jar>
<outfile>C:\Users\XXX\Documents\EXEkonfig\XXXX.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<stayAlive>false</stayAlive>
<restartOnCrash>false</restartOnCrash>
<manifest></manifest>
<icon>C:\Users\XXX\Documents\EXEkonfig\creatoricon.ico</icon>
<classPath>
<mainClass>Creator</mainClass>
<cp>lib/tornadofx-1.7.16.jar</cp>
<cp>lib/kotlin-stdlib-jdk8-1.2.51.jar</cp>
<cp>lib/fontawesomefx-8.9.jar</cp>
<cp>lib/kotlin-stdlib-jdk7-1.2.51.jar</cp>
<cp>lib/kotlin-reflect-1.2.41.jar</cp>
<cp>lib/kotlin-stdlib-1.2.51.jar</cp>
<cp>lib/javax.json-1.1.2.jar</cp>
<cp>lib/kotlin-stdlib-common-1.2.51.jar</cp>
<cp>lib/annotations-13.0.jar</cp>
<cp>lib/javax.json-api-1.1.2.jar</cp>
</classPath>
<jre>
<path>C:\Program Files\Java\jdk1.8.0_181</path>
<bundledJre64Bit>false</bundledJre64Bit>
<bundledJreAsFallback>false</bundledJreAsFallback>
<minVersion>1.8.0_180</minVersion>
<maxVersion>1.8.0_181</maxVersion>
<jdkPreference>preferJre</jdkPreference>
<runtimeBits>64/32</runtimeBits>
</jre>
</launch4jConfig>
  class CreatorMain : App() {
  override val primaryView = CreatorScreen::class
  var decorator: JFXDecorator by singleAssign()
  val view = find(primaryView, scope)

init {
    // reloadStylesheetsOnFocus()
    // reloadViewsOnFocus()

     CreatorUtil.setLocale(Locale.GERMAN)
    importStylesheet("/styles/RootFrame.css")
}

override fun createPrimaryScene(view: UIComponent) = Scene(decorator,      1250.0, 500.0)
        .apply {
            FX.primaryStage.centerOnScreen()
        }

   override fun start(stage: Stage) {
    decorator = JFXDecorator(stage, view.root)
    val logo=ImageView(Image("/img/creatorlogo16.png"))

    decorator.setGraphic(logo)


    stage.icons += Image("/img/creatorlogo16.png")
    stage.icons += Image("/img/creatorlogo32.png")
    stage.icons += Image("/img/creatorlogo64.png")
    super.start(stage)
  }

共有1个答案

袁羽
2023-03-14

类中有对JFoenix(JFXDecorator)的引用,但在launch4j配置中没有包含它。TornadoFX还需要在类路径上实现javafx.json而不仅仅是API。我们使用org.glassfish.javax.json,所以您应该使用相同的方法。

我还建议将您的应用程序类放在一个包中,不鼓励使用默认包。

最后,您可以将FXLauncher作为Launch4J的替代方案。这还将使您能够无缝地部署应用程序的新版本,并在用户重新启动应用程序时自动更新:)

 类似资料:
  • 问题内容: 使用MySQL查询,如何像示例A那样获取表: 并创建一个类似于示例B的视图? 问题答案: 您可以简单地使用函数: 看到这个SQLFiddle 如果您的 班级 数目未知,请尝试此动态查询 输出: 看到这个SQLFiddle

  • 问题内容: 我有以下活动: 我得到一个NPE,当我尝试调用的,我猜这是因为是一个独立的片段,我有作为之内: 但是,我不确定如何解决此问题,以便可以找到loginButton ID。我以前没有使用过片段,所以我意识到我可能正在使用它们/错误地实现了它们。包含在几个按钮,并没有什么,但一个。 问题答案: 从片段编写代码以初始化按钮,因为您的按钮进入片段布局而不是活动布局。 而从删除登录按钮相关的代码的

  • 问题内容: 我创建了一个自定义列表视图,在每行的左侧有两个箭头(向上/向下投票)。使用选择器,我已经能够更改箭头的图像(颜色)并相应地更新投票。我的问题是,例如,如果我单击“投票”,则当我向下滚动足够远以使我投票过的列表项退出屏幕时,它将重置为原始未选中状态/图像。 这是我的获取视图方法 问题答案: 所以我自己弄清楚了。这是由于对教程的深刻理解造成的。 我将一个对象传递给我的自定义适配器,我要做的

  • 问题内容: 我正在使用我使用android studio Tabbed Activity 创建的应用程序上工作,我选择了此活动,以便在用户滑动时从json url加载一些数据,并且我创建了另一个类,该类可以在方法上获取JSON数据,并且所有这些都可以正常工作,除非在应用程序时从调用方法的主要活动开始,并且当我调用布局时未填充任何数据时 ,我想要的是加载应用程序MainActivity时要显示的数据

  • 问题内容: 我正在使用Android的软件包来开发包含多个的ViewPager 。 我正在尝试在用户更改页面时隐藏视图。因此,我实现了一个来监听适配器,并在发生页面更改时在s中调用一个方法。但是我得到了,我不知道为什么。 这是代码: 和 w当我复制/粘贴时,我删除了方法,但是它们在那里。该方法记录if ,并且始终返回false。当我寻呼时,被调用并返回true。为什么会发生这种情况,我该如何解决?

  • 问题内容: 我一直在用@ViewScoped Managed-Bean来敲打我的头。我正在使用primeface的“计划”组件以显示一些事件。当用户单击特定按钮时,使用ajax在viewscoped bean中调用一个方法,但是每次我得到一个“ java.io.NotSerializableException”时,如果我更改托管bean范围以请求该问题,就会消失。 我究竟做错了什么?有任何想法吗?