デスクトップ アプリを作成しましたが、生成された実行可能な jar で問題が発生しました。Eclipse 環境ではすべて正常に動作しますが、jar を生成すると、swt
コンポーネント (メニュー、タブなど) のみが表示されます。その他のライブラリの場所は、空白の領域 (ギャラリーを生成するライブラリ) です。同じものは表示されませんset ToolBar
(画像付きのボタンを含む)、表示されGoogleMap.html
ません。
これらの外部ソースを含む実行可能 jar を正しく生成するにはどうすればよいですか?
ツールバーの画像読み込みコード:
folderSearchIcon = new Image(display, this.getClass().getResourceAsStream("images/search_folder.png"));
GoogleMap.html 読み込みコード:
File mapFile = new File("resources/GoogleMap.html");
if(!mapFile.exists()) {
System.out.println("File doesn't exist! " + mapFile.getAbsolutePath());
return;
}
実行可能な jar の生成:
Eclipse での私のアプリ構造と生成された jar 構造:
生成されたマニフェスト:
Manifest-Version: 1.0
Rsrc-Class-Path: ./ swt.jar commons-imaging-1.0-SNAPSHOT.jar org.eclip
se.nebula.widgets.gallery_0.5.3.201210262156.jar xmpcore.jar metadata
-extractor-2.6.3.jar
Class-Path: .
Rsrc-Main-Class: geotagger.AppInit
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader