我的应用有问题。当我在Eclipse中运行应用程序时,声音播放良好,但是如果将应用程序导出到可运行的jar中,则声音将不起作用。
播放声音的方法:
public static synchronized void playSound()
{
new Thread(new Runnable()
{
// The wrapper thread is unnecessary, unless it blocks on the
// Clip finishing; see comments.
public void run()
{
try
{
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav"));
clip = AudioSystem.getClip();
clip.open(inputStream);
clip.start();
}
catch (Exception e)
{
System.err.println(e.getMessage());
}
}
}).start();
}
哪里可能出错?
问题在于
AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav"));
JAR文件中的getResourceAsStream
出于任何原因均不起作用。因此,我将其替换为getResource
:
AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResource("sound.wav"));
而且效果很好。
我有一个Java项目在Eclipse中运行良好,但当我将其导出到可运行的Jar文件(选择“将所需库打包到Jar”时)时,我会遇到以下错误: 还有StartGui的代码。doCmd(StartGui.java:94)看起来像这样: 我假设这个空指针异常是因为它无法定位图标,但我不完全理解为什么它会在eclipse中完美运行。 提前感谢善良的人们。
我在容器中运行SpringBoot的一大组服务上工作。我们构建一个“Spring Boot Jar”并用“java -jar”执行它作为容器中的启动脚本。 我被要求实现一些概念上看起来很简单的东西,但我发现它可能相当粗糙。 需要发生的是,脚本需要检查映射卷中的特定 jar 文件,如果存在,请使用增强的类路径(包括其他 jar)运行Spring启动服务。 我意识到这非常混乱,因为当你用“java -
我在经营一个Kafka制作人。我已经在yml文件中配置了密钥库位置,并在eclipse中运行时获取了它。但是当代码作为jar运行时,它无法找到密钥库位置。如何解决这个问题。 这是我的yml档案。 我得到以下错误: JAVA木卫一。FileNotFoundException:类路径资源[es-cert.jks]无法解析为绝对文件路径,因为它不位于文件系统:jar:file:/u01/home/app
我正在尝试导出可运行的文件,但每次我这么做时,它都会说,“VM参数将不是可运行jar的一部分。在启动jar时,可以在命令行上传递参数。” 有人知道怎么修吗?
在过去的6个月里,我一直在从repl运行我的Clojure应用程序。 也就是说,每当我想运行应用程序时,我都会加载一个clojure repl,然后输入:(加载文件“src/run.clj”)。。。它运行我的应用程序。 然后,clojure加载了我所有的*。clj文件,编译并运行。 我最近换了莱恩。我想“提前编译/打包”我的代码,这样我就可以得到一个带有Main方法的jar,并通过“java…”直
知道为什么吗 工作,但是双击罐子会给一个 错误?清单被正确放置,双击直到最近还在工作,但突然之间它给出了这个错误。我不确定我做了什么改变。 编辑: 我用来创建jar的命令是(在cmd中): Main是包文件的一部分。