我正在使用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解壓到程序安裝的相同的位置和動態指向它。
您可以通過查看以下兩個問題獲益: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 –
@KenoClayton System.setProperty()只接受字符串,我怎樣才能將「InputStream getResourceAsStream」傳遞給它 – Suzerain
http://stackoverflow.com/questions/3891375/how-to-read-a-text-file-resource-into-java-unit-test –