java - 如何从 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
我怎样才能做到这一点?
解决方案
我想你正在使用 Windows 操作系统。
我更喜欢这样的文件夹
launcher.bat
jre
lib
-launcher.jar
chrome-win
-other files and folders
-chrome.exe
在启动器.bat
- 使用 bat 获取当前路径,并将其用作 Java 的 RootPath
- 设置Java home(RootPath/jre)、classpath(RootPath/lib)等
- 执行 Launcher.java,使用路径 chrome.exe 和 url 作为 main 方法的参数。
希望能有所帮助。
推荐阅读
- mysql - 从多行获取日期的最小和最大时间
- rest - Liferay 7.0 中返回动态数据列表中所有记录的 API 方法是什么?
- sql - 在 INSERT INTO 语句中直接使用外键值
- java - Play .mp3 and a sequence of notes (MIDI) simultaneously in Java
- reactjs - 在生产环境中使用带有 Express 的 Create-React-App
- ios - TableView 停止重用
- python - Python:“只能将列表(不是“str”)连接到列表”
- python - Django应用程序没有从不同的机器打开
- php - Show total row from current month
- javascript - 从不同的电子表格调用 App 脚本