通过使用应用程序服务器运行.exe

时间:2014-09-05 16:48:56

标签: java glassfish runtime

可以在java jar中打包.exe文件,并将此jar添加到项目的部署程序集中,而不是通过使用以下命令运行此exe:

Runtime.getRuntime().exec(); 我试图通过使用类加载器在glassfish域中获取它的路径后运行此exe,但实际上这个exe被打包在jar中,阻止窗口执行它。

1 个答案:

答案 0 :(得分:1)

您必须先从 jar 中提取它:

    FileOutputStream fos=null;
    InputStream is = null;
    try
    {

        is = this.getClass().getResourceAsStream("path to your exe inside the jar");
        fos = new FileOutputStream("destination path on host file system");
        byte[] buffer = new byte[1024];
        int read;
        while ((read = is.read(buffer)) > -1)
            fos.write(buffer, 0, read);

    }
    finally
    {

        if (is != null)
            is.close();
        if (fos != null)
            fos.close();
    }

然后,使用Runtime.getRuntime().exec()在主机文件系统上运行它。