2016-04-13 78 views
0

我正在使用SWT在Eclipse中開發項目,其中接口顯示在瀏覽器中,爲此,我使用XULRunner(Firefox)使用標準瀏覽器。Java + Eclipse SWT項目,嘗試將文件夾路徑導入到「jar」中

我認爲編譯內xurlrunner文件夾中的罐子,所以我創建了一個名爲源文件夾「插件」,並複製裏面的xurlrunner文件夾,並得到了路徑:

URL xulrunner = getClass().getClassLoader().getResource("xulrunner"); 
File file = new File(xulrunner.toURI()); 
System.setProperty("org.eclipse.swt.browser.DefaultType", "mozilla"); 
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", 
     -> file.getAbsolutePath()); 

它的工作,但只有當在導出之前從Eclipse內部運行,但是,最大的問題是當我導出一個jar可執行文件時,JVM無法加載,當然,原因是file.getAbsolutePath()無法指向jar。

對於圖像,我使用getResourceAsStream(),編譯後效果很好,但是當它將jar內的文件夾路徑轉換爲String時,它很難。

問題:

有沒有其他辦法,我可以指向一個文件夾成可轉向字符串罐子?


提案

如果沒有一種方法來保持xurlrunner文件夾放進瓶子裏,我除了創建一個安裝從ZIP解壓到程序安裝的相同的位置和動態指向它。

+0

您可以通過查看以下兩個問題獲益:http://stackoverflow.com/questions/36182101/exported-jar-file-wont-read-file-inside-jar | http://stackoverflow.com/questions/36269693/unable-to-locate-open-image-inside-exported-jar –

+0

@KenoClayton System.setProperty()只接受字符串,我怎樣才能將「InputStream getResourceAsStream」傳遞給它 – Suzerain

+0

http://stackoverflow.com/questions/3891375/how-to-read-a-text-file-resource-into-java-unit-test –

回答

0

SWT預計XULRunnerPath指向一個常規的文件系統文件夾。因此,在設置系統屬性之前,必須將整個xulrunner文件夾解壓縮到常規文件夾中。

相關問題