我构建了一个java项目,并使用(JLayer 1.0.1)播放mp3音频。当我用eclipce测试我的项目时,我发现它100%正确工作,JLayer 1.0.1库可以有效地播放我的mp3文件。但当我将其转换为可运行的jar文件时,它与无声音或音频一起工作。我的程序似乎无法访问Jlayer 1.0.1库。所以现在,我需要你的帮助来解决这个问题。感谢
为了测试应用程序,您可以执行以下操作:将项目导出为常规jar,并将其与JLayer.jar和其他依赖项一起复制到目录中。然后,创建一个批处理文件(在Windows上为.bat,在Linux上为.sh),其中包含以下内容:
java -cp yourjar.jar;JLayer.jar;other_jars FullPathToYourClass
其中FullPathToYourClass
类似于com.something.else.ClassName
还要注意Linux上的分隔符是:
一旦你看到它在工作,你就可以开始做一个构建脚本来自动完成上面的工作。我建议您为此构建一个Ant build.xml文件。
这可能是JRE问题(Eclipse使用的JRE可能与系统使用的JRE不同),也可能是打包问题。
使用Eclipse进行打包时,请确保将所有库与类打包在一起。为此,选择选项"将所需库提取到生成的JAR中"。
另一个选项是运行JAR,设置类路径:java -cp yourjar.jar;yourlib1.jar;yourlib2.jar com.your.package.YourMainClass
(注意";"依赖于平台),而不是java -jar yourjar.jar
。