我已经创建了一个eclipse插件,并且我想在eclipse运行时进行部署。我有下面的包结构。如何从eclipse插件中的jar文件中引用文件
com.myplugin
|
---resources
|
---server.bat
作为插件作业的一部分,应该执行“server.bat”文件。
我将插件打包为.jar文件,包括二进制文件中的resouces文件夹并放入eclipse“plugins”文件夹中。
插件生效,它工作正常,但我执行“server.bat”文件时出现了问题,该文件位于我生成的jar文件中。该错误消息说:
“Windows无法找到‘资源\ server.bat’,确保输入名称正确 并再试一次。”
我相对路径和绝对路径的尝试,但它没有工作。
这里是代码做的工作:
URL url = Activator.getDefault().getBundle().getEntry("/resources/server.bat");
String fileURL = FileLocator.toFileURL(url).toString();
String commandLine = "cmd.exe /c start " +fileURL;
Process process= Runtime.getRuntime().exec(commandLine);
我拿到 “fileURL” 输出:
文件:/ d:/程序 文件/ IBM/SDP /配置/组织.eclipse.osgi/bundles/2392/1/.cp/resources/server.bat
我不确定这是否正确。
希望这足以说明问题。
或者,请推荐一些其他方式,例如创建功能来部署带有文件夹结构的插件。我还没有尝试过这个选项。
我也是一个jar文件有和你一样的问题。我必须访问要执行的.bat文件,它位于生成的插件.jar中。我没有找到任何解决方案,但我解压插件.jar到一个文件夹,并将其放在“/插件”目录,它的工作。你也可以尝试相同的...或者如果你知道的方式,请发帖.. – Sebastian 2011-04-14 15:56:50
你是我的救星。你的解决方案有效 我也将它与这条关于构建路径的建议相结合:http://www.mhaller.de/archives/3-Accessing-resource-files-within-your-Eclipse-plugins.html – cdmihai 2014-02-20 00:02:58