Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java+;EclipseSWT项目,试图将文件夹路径放入;“罐子”;_Java_Eclipse_Swt - Fatal编程技术网

Java+;EclipseSWT项目,试图将文件夹路径放入;“罐子”;

Java+;EclipseSWT项目,试图将文件夹路径放入;“罐子”;,java,eclipse,swt,Java,Eclipse,Swt,我正在用SWT在Eclipse中开发一个项目,其中界面显示在浏览器中,为此,我使用XULRunner(Firefox)而不是使用标准浏览器 我想编译包含xurlrunner文件夹的jar,所以我创建了一个名为“plugins”的源文件夹,并在其中复制了xurlrunner文件夹,得到了路径: URL xulrunner=getClass().getClassLoader().getResource(“xulrunner”); File File=新文件(xulrunner.toURI()); S

我正在用SWT在Eclipse中开发一个项目,其中界面显示在浏览器中,为此,我使用XULRunner(Firefox)而不是使用标准浏览器

我想编译包含xurlrunner文件夹的jar,所以我创建了一个名为“plugins”的源文件夹,并在其中复制了xurlrunner文件夹,得到了路径:

URL xulrunner=getClass().getClassLoader().getResource(“xulrunner”); File File=新文件(xulrunner.toURI()); System.setProperty(“org.eclipse.swt.browser.DefaultType”、“mozilla”); System.setProperty(“org.eclipse.swt.browser.XULRunnerPath”, ->getAbsolutePath()); 它是有效的,但只有在导出之前从Eclipse内部运行时才有效。然而,最大的问题是,当我导出jar可执行文件时,JVM无法加载,当然,原因是
file.getAbsolutePath()
无法指向jar

对于图像,我使用
getResourceAsStream()
,编译后效果很好,但要将jar中的文件夹路径转换为字符串是很困难的

问题:

有没有其他方法可以将一个文件夹指向jar中可以转换为字符串的文件夹


提议


如果无法将XURRunner文件夹保存到jar中,我将创建一个安装程序,将其从zip中提取到程序安装的同一位置,并动态指向它。

SWT希望
XURRunnerPath
指向一个常规文件系统文件夹。在设置系统属性之前,必须将整个xulrunner文件夹提取到常规文件夹中。

您可能会从以下两个问题中受益:|@KenoClayton system.setProperty()只接受字符串,如何将“InputStream getResourceAsStream”传递到itUse
IOUtils.toString()中
@KenoClayton Scanner代替IOUtils.toString,Scanner Scanner=新扫描仪(InputStream);scanner.useDelimiter(\\A”);String str=scanner.hasNext()?scanner.next():null;但这不是我的情况,非常感谢你,我认为方法是将xurlrunner提取到我的程序安装路径中并指向它。