首页 > 解决方案 > 如何从 jar 中运行 exe?

问题描述

我有一个简单的 java 类,如下所示。

public class Launcher {

    public static void main(String[] args) {
        launchURLInBrowser("http://google.com");
    }

    private static void launchURLInBrowser(String url) {
        try {
            Process p = Runtime.getRuntime().exec(new String[]{"C:\\Users\\Administrator\\Downloads\\chrome-win\\chrome.exe", "--kiosk", url});
            p.waitFor();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

我在课堂上唯一要做的就是以 kiosk 模式启动 chromium 网络浏览器,它工作正常。

现在,我需要将这个类捆绑在 jar 文件中并分发它。我将在 Web 浏览器 zip 旁边分发 jar。所以,我需要放置相对路径而不是我现在给出的硬代码路径。

我的 jar 分发将具有以下文件夹结构。Chrome 浏览器不会被放入 jar 中。它将是外部的,但在同一个文件夹中,如下所示。

launcher.jar
chrome-win
    -other files and folders
    -chrome.exe

我怎样才能做到这一点?

标签: javajar

解决方案


我想你正在使用 Windows 操作系统。
我更喜欢这样的文件夹

launcher.bat
jre
lib
   -launcher.jar
chrome-win
   -other files and folders
   -chrome.exe

在启动器.bat

  1. 使用 bat 获取当前路径,并将其用作 Java 的 RootPath
  2. 设置Java home(RootPath/jre)、classpath(RootPath/lib)等
  3. 执行 Launcher.java,使用路径 chrome.exe 和 url 作为 main 方法的参数。

希望能有所帮助。


推荐阅读