Java JAR 文件在本地机器上运行,但在其他机器上缺少文件

标签 java ffmpeg

JAR 文件由 ffmpeg.exe 文件组成,它可以在我的机器上正常运行,没有任何问题。但是,如果我尝试在另一台计算机上运行它,它会告诉我 java.io.IOException: Cannot run program "ffmpeg.exe": CreateProcess error=2,The system cannot find the file specified从堆栈跟踪。我导入它的方式是

FFMpeg ffmpeg = new FFMpeg("ffmpeg.exe");  //in res folder

...
//ffmpeg class
public FFMPEG(String ffmepgEXE) {
    this.ffmepgEXE = ffmepgEXE;
}

最佳答案

快速解决方法是您必须输入 ffmpeg.exe与您的.jar 在同一个文件夹中文件。
如果你想从 resources 读取文件文件夹,您必须更改此代码:

URL resource = Test.class.getResource("ffmpeg.exe");
String filepath = Paths.get(resource.toURI()).toFile().getAbsolutePath(); 
FFMpeg ffmpeg = new FFMpeg(filepath);

关于Java JAR 文件在本地机器上运行,但在其他机器上缺少文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71963165/

相关文章:

java - Android/Java JDBC MySQL - 获取行 - 有效算法

java - HikariCP 如何处理不完整的 JDBC 事务?

Bash 脚本不会读取整行

python-3.x - 来自机器人的土 bean 质量音频

linux - ffmpeg-php安装在centos中显示错误

batch-file - 如何使用 ffmpeg 和屏幕截图创建批处理文件?

java - 什么时候需要用JAX-RS编写自定义MessageBodyWriter和MessageBodyReader?

java - 线程后的代码未执行

java - 使用 Eclipselink 和 Moxy 将 List<someObject> 写入文件

video - 如何最好地设置 FFMPEG 场景切换阈值