gpt4 book ai didi

java - 无法读取可运行的 Jar 文件

转载 作者:太空宇宙 更新时间:2023-11-04 15:16:57 24 4
gpt4 key购买 nike

我正在尝试制作一个 mp3 播放器,并且使用了 javazoom 库。我将 mp3 路径保存在 library.txt 文件中以重新打开它们。打开jar文件中的library.txt没有任何问题。

通常使用 eclipse 程序它运行良好,但是当我创建 jar 文件时,问题就开始了。我无法使用绝对路径通过我的 jar 文件打开任何 mp3 文件。

 File file = new File("/Users/orcungumus/Music/iTunes/iTunes Media/Music/Bruno Mars/Unorthodox Jukebox/1-16 16 Locked Out of Heaven.mp3");
try {
player.open(file);
} catch (BasicPlayerException e1) {
JOptionPane.showMessageDialog(null, e1.toString(),
"Error", JOptionPane.INFORMATION_MESSAGE);
}

为了使思考更容易理解,我直接使用了文件的路径。它适用于 eclipse,但使用 jar 文件时无法打开文件。

这是我遇到的错误:

enter image description here

如果这很重要,我会使用 mac os。

编辑:我意识到这不是通过使 mp3 路径相对的绝对路径。库给出有关音频格式的错误。所以,问题依然存在。项目的可运行 jar 文件版本和 eclipse 运行之间有什么区别。

最佳答案

好吧,这很难找到。

现在你的问题是无法打开音频文件,我无法处理。

但是你说程序使用eclipse运行完美,所以问题变成了eclipse中运行和普通jar文件运行的区别。

首先,eclipse不直接使用java.exe或javaw.exe来执行。相反,Eclipse 使用一些自定义的库来重定向控制台、处理异常等。(这对你来说没什么问题)

其次,eclipse会自动为你设置工作目录(到项目根目录),其中可能包含一些必要的原生库。

第三,eclipse还为库的 native 位置定义了一些路径,我认为您可以使用eclipse内置导出来创建jar文件,但不包含 native 库。

第二个和第三个区别可能对您有帮助,因为它们对 jar 文件非常有效。刚刚简单浏览了一下javazoom,不知道是否有native库。如果不,很抱歉,您必须寻找其他解决方案。

关于java - 无法读取可运行的 Jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20806428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com