java - 导出的 Javafx 应用程序不作为 Jar 文件运行 (Eclipse)

标签 java eclipse javafx jar manifest

我有一个 javafx 应用程序,它无法从 eclipse 正确导出到可运行的 jar 文件。导出时,.jar 文件无法正常运行,并且 GUI 不会出现。下面是 list 文件。

Manifest-Version: 1.0
Class-Path: .
Main-Class: gameaspects.SourceCodeVersion9

导出接口(interface)如下: enter image description here

导出文件不会产生 Eclipse 的错误或警告。

从 cmd 运行应用程序时出现以下错误:

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(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(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(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.nio.file.NoSuchFileException: .\music
    at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(Unknown Source)
    at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(Unknown Source)
    at sun.nio.fs.WindowsFileSystemProvider.readAttributes(Unknown Source)
    at java.nio.file.Files.readAttributes(Unknown Source)
    at java.nio.file.FileTreeWalker.getAttributes(Unknown Source)
    at java.nio.file.FileTreeWalker.visit(Unknown Source)
    at java.nio.file.FileTreeWalker.walk(Unknown Source)
    at java.nio.file.FileTreeIterator.<init>(Unknown Source)
    at java.nio.file.Files.find(Unknown Source)
    at gameaspects.SourceCodeVersion9.start(SourceCodeVersion9.java:81)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(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$148(WinApplication.java:191)
    ... 1 more

运行应用程序 gameaspects.SourceCodeVersion9 时出现异常

我认为 this 所指的代码是这样的:

List<String> result = Files.find(Paths.get(".\\music"), 100,
        (p, a) -> p.toString().toLowerCase().endsWith(".mp3"))
        .map(path -> path.toString())
        .collect(Collectors.toList());

.\music 指的是我的应用程序中存在的源文件夹 music

如果需要任何其他信息来诊断此问题,请在下面发表评论,我将添加它。

最佳答案

好的,在命令提示符中使用 java -jar FileName.jar ,然后使用堆栈跟踪来调试我的代码,我能够找到应用程序的错误。

关于java - 导出的 Javafx 应用程序不作为 Jar 文件运行 (Eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41504690/

相关文章:

java - 是否有一个 Java 本地队列库可以通过转储到硬盘来保持较低的内存使用率?

java - DOCX4J 插入换行符

java - 在 Mac OS 中的 Eclipse 4.3 中添加新的执行环境

java - webview 无法像网络浏览器一样运行

javafx - 如何在 Scene Builder 中设置首选版本?

java - 为什么 SessionAttributes 在 GET 重定向时被清除?

java - 目前实现REST/J2EE/Database + custom auth的工具有什么好的组合

java - eclipse 内存不足,分配了 8G 堆大小

java - 开发Eclipse插件时,如何获取项目的Java Model和AST根节点?

java - 迁移到 JDK 11 + JavaFX 11 时出现 RuntimeException