首页 > 解决方案 > 是否可以在 docker 容器内从 java 执行 exe 文件

问题描述

我有一个应用程序application.exe。我想从java程序运行它。这是我的方法

public void runApp(JsonData json) throws Exception {
    ProcessBuilder pb = new ProcessBuilder("my/dir/application.exe",
            json.getParam());
    Process process = pb.start();
    process.waitFor();
}

当我将我的应用程序作为弹簧靴运行时,一切都很好。但是,当我在 docker 容器中运行此应用程序时,出现错误java.io.IOException: Cannot run program "my/dir/application.exe": error=2, No such file or directory。我猜那是因为 docker 容器没有 Windows 命令行支持。我的 Dockerfile

From openjdk:8
copy ./target/converter-0.0.1-SNAPSHOT.jar converter-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","converter-0.0.1-SNAPSHOT.jar"]

我尝试将 cmd.exe 添加到根文件夹中,但没有成功。我该怎么做才能使我的代码正常工作?

标签: javawindowsdockercmd

解决方案


推荐阅读