2016-04-13 6 views
0

SWTを使ってEclipseでプロジェクトを開発していますが、インターフェースはブラウザに表示されていますので、代わりにXULRunner標準ブラウザを使用しています。Java + Eclipse SWTプロジェクト、「jar」へのフォルダパスを取得しようとしています

私は内部のxurlrunnerフォルダにjarファイルをコンパイルすると思ったので、私は「プラグイン」と呼ばれるソースフォルダを作成し、内部の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に変換するのは難しいです。

QUESTION:

私は文字列に回すことができる瓶の中にフォルダを指すことができ、他の方法はありますか?


提案

瓶にxurlrunnerフォルダを維持する方法は何がある場合、私は動的にプログラムのインストールの同じ場所に郵便番号からそれを抽出するために離れてインストーラを作成していないとよそれを指す。

+0

これらの2つの質問をチェックすると、メリットがあります。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フォルダ全体を通常のフォルダに展開してから、システムプロパティを設定する必要があります。

関連する問題