尝试运行.Jar文件时出错

时间:2014-08-28 17:09:01

标签: java eclipse jar

所以我在过去运行.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) 

1 个答案:

答案 0 :(得分:0)

InflaterInputStream的reset()函数未实现,始终抛出异常。

来自API

  

类InflaterInputStream的方法reset除了抛出IOException外什么都不做。

真正的问题是,为什么SoftMidiAudioFileReader会调用该方法?

为了找到答案,我所做的只是google&#34; com.sun.media.sound.SoftMidiAudioFileReader&#34;第一个结果是关于同一错误的StackOverflow问题:Got an exception while working with javax.sound.samples library....!

事实证明,当您为AudioPlayer提供无效的声音文件时会发生这种情况。检查以确保声音文件有效,因为它不是。