我的项目文件夹就像
├── bin
│ ├── org...
│ └── resources
│ └──driver
├──src
│ └──org...
└── resources
└──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
将网址转换为“文件”网址,这可能涉及将对象从插件Jar复制到一个临时位置。
您可以Bundle
使用:
Bundle bundle = FrameworkUtil.getBundle(getClass());
或者
Bundle bundle = Platform.getBundle("plugin id");
该FrameworkUtil
方法总是返回包含该类的插件的捆绑软件,第二种方法可以获取任何类的捆绑软件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句