Java 尝试运行.Jar文件时出错

Java 尝试运行.Jar文件时出错,java,eclipse,jar,Java,Eclipse,Jar,因此,我在过去运行.jar文件时没有遇到任何问题。jar程序运行良好,可以播放音乐、显示图像等 但最近我添加了另一个音乐文件(与其他文件的格式相同,大小稍小),现在,当我导出到.jar文件时,.jar文件无法正确运行,它只显示一个白色表单 任何帮助都太棒了!:) 编辑:我使用命令提示符运行该文件,出现以下错误: java.io.IOException: mark/reset not supported at java.util.zip.

因此,我在过去运行.jar文件时没有遇到任何问题。jar程序运行良好,可以播放音乐、显示图像等

但最近我添加了另一个音乐文件(与其他文件的格式相同,大小稍小),现在,当我导出到.jar文件时,.jar文件无法正确运行,它只显示一个白色表单

任何帮助都太棒了!:)

编辑:我使用命令提示符运行该文件,出现以下错误:

java.io.IOException: mark/reset not supported                              
at java.util.zip.InflaterInputStream.reset(Unknown Source)                      
at java.io.FilterInputStream.reset(Unknown Source)                              
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)                                                                              at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)          
at Audio.AudioPlayer.<init>(AudioPlayer.java:14)                                
at GameState.StateManager.<init>(StateManager.java:60)                          
at Main.GamePanel.init(GamePanel.java:77)                                       
at Main.GamePanel.run(GamePanel.java:82)                                        
at java.lang.Thread.run(Unknown Source)                                 
Exception in thread "Thread-2" java.lang.NullPointerException                           
at GameState.StateManager.update(StateManager.java:174)                         
at Main.GamePanel.update(GamePanel.java:122)                                    
at Main.GamePanel.run(GamePanel.java:93)                                        
at java.lang.Thread.run(Unknown Source) 
java.io.IOException:不支持标记/重置
位于java.util.zip.InflateInputStream.reset(未知源)
位于java.io.FilterInputStream.reset(未知源)
位于com.sun.media.sound.SoftmidiaAudioFileReader.getAudioInputStream(未知源),位于javax.sound.sampled.AudioSystem.getAudioInputStream(未知源)
AudioPlayer.(AudioPlayer.java:14)
在GameState.StateManager.(StateManager.java:60)
位于Main.GamePanel.init(GamePanel.java:77)
运行(GamePanel.java:82)
位于java.lang.Thread.run(未知源)
线程“thread-2”java.lang.NullPointerException中的异常
更新(StateManager.java:174)
更新(GamePanel.java:122)
运行(GamePanel.java:93)
位于java.lang.Thread.run(未知源)
充气输入流的reset()函数未实现,始终会引发该异常

从:

类InflaterInputStream的方法reset除了抛出IOException之外不执行任何操作

真正的问题是,为什么SoftmidAudioFileReader调用该方法

为了找到答案,我只做了google“com.sun.media.sound.SoftmidiaAudioFileReader”,第一个结果是关于相同错误的StackOverflow问题:


当你给音频播放器一个无效的声音文件时,就会发生这种情况。检查以确保声音文件有效,因为它无效。

如何创建JAR文件?在Eclipse文件>导出>可运行JAR文件>包所需库中。。我以前就是这样做的,直到现在它一直在运行。代码很好,它一直运行到现在,但我又添加了一个文件,它一点也不喜欢它。。该文件与其他文件的格式完全相同。它在eclipse中运行得很好,只有当我将它导出到一个.jar文件时,它才会运行起来。