gpt4 book ai didi

java - 如何访问jar中的可执行文件

转载 作者:行者123 更新时间:2023-11-30 10:54:20 25 4
gpt4 key购买 nike

我的项目文件夹是这样的

├── bin
│   ├── org...
│   └── resources
│   └──driver
├──src
│   └──org...
└── resources
   └──driver

...

其中 driver 是一个可激发的文件。如何在我的 Java 项目中使用该程序,尤其是当我将其导出为 JAR 时?

我试过了

...
java.net.URL driverURL = this.getClass().getResource("/resources/driver");
cmd[0] = driverURL.toString();
process = Runtime.getRuntime().exec(cmd);

但它不会起作用。

我看了一些文章说如何使用inputStream访问资源,但我想知道如何访问可执行文件?

最佳答案

在插件中使用:

Bundle bundle = .... your plugin bundle

URL url = FileLocator.find(bundle, new Path("/resources/driver"), null);

url = FileLocator.toFileURL(url);

String cmd = url.getFile();

Runtime.getRuntime().exec(cmd);

FileLocator.find 返回插件中任何内容的 URL,但此 URL 通常是内部 Eclipse 格式的 URL。

FileLocator.toFileURL 将 URL 转换为"file"URL,这可能涉及将对象从插件 Jar 复制到临时位置。

您可以使用以下方式获取Bundle:

Bundle bundle = FrameworkUtil.getBundle(getClass());

Bundle bundle = Platform.getBundle("plugin id");

FrameworkUtil 方法总是返回包含该类的插件的包,第二个方法可以获得任何类的包。

关于java - 如何访问jar中的可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com