尝试运行时发生java错误。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 楼答案
InflaterInputStream的reset()函数未实现,始终引发该异常
从API开始:
真正的问题是,为什么SoftmidAudioFileReader会调用该方法
为了找到答案,我只做了谷歌“com.sun.media.sound.softmidiaAudioFileReader”,第一个结果是关于相同错误的StackOverflow问题:Got an exception while working with javax.sound.samples library....!
事实证明,当你给音频播放器一个无效的声音文件时,就会发生这种情况。检查以确保声音文件有效,因为它不是