2017-01-06 76 views
0

我有一个javafx应用程序,它不能正确地从eclipse导出到可运行jar文件。导出时,.jar文件无法正常运行,并且不显示GUI。以下是清单文件。导出的Javafx应用程序不能作为Jar文件运行(Eclipse)

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

这里是出口接口: enter image description here

导出文件产生任何错误或警告从日食。

运行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

,我认为,这是指的是这样的代码:

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

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

+0

@fabian编辑的问题提供错误。 –

+0

确定使用我找到的cmd提供的错误并修复了错误。但是,我想知道如何将列表方法更改为不命名相同的文件两次。 –

+0

顺便说一下,路径默认情况下是相对的。添加'。\\':'Paths.get(“music”)'没有意义。至于文件重复:使用['Stream.distinct'](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#distinct--)或如果你有一个现有的列表,使用'Set',遍历列表并删除所有'set.add(element)'返回'false'的元素 – fabian

回答

1

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

相关问题