7

JNLP をアプリとしてパッケージ化するオプションは、Oracle の JDK 7 Java 設定ページには存在しないようです。

OS X デスクトップと Java Web Start の統合により、ユーザーは任意の Java Web Start アプリケーションからローカル アプリケーション バンドルを作成できます。Java プリファレンスの [ショートカットの作成] 設定は、Java Web Start アプリケーションを開くときに、ユーザーがアプリケーション バンドルを作成するように求められるかどうかを制御します。バンドルされた Java Web Start アプリケーションには、「OS X アプリケーション バンドル」で説明されているネイティブ アプリケーション バンドルのすべての利点があります。</p>

これを回避するために、Automator を使用して、JNLP を実行するシェル スクリプトを実行する .app を作成しています。これにより、アプリ アイコンを使用できるようになりますが、ドック アイコンを構成する試みはすべて失敗しました。

.icns ファイルを使用して作成し、それをフォルダーにiconutil追加してから、フィールドの下に.icns ファイルを指定しようとしましたが、アプリの実行時にドックに Java コーヒー カップ アイコンが表示されます。ResourcesContents/Info.plist"Icon File"

私が試したもう1つのことは、-Xdock:icon=icon.jpg引数を渡すことですjavawsが、これは通常のJavaプログラムでのみ機能するようです。

4

2 に答える 2

2

私の問題の解決策を見つけました。アイコンを .app ファイルにバンドルする代わりに、jnlp で直接参照できます。JNLP 開発者ガイドには、icon element

icon 要素: GIF または JPEG 形式の画像ファイルへの HTTP URL が含まれます。アイコンはアプリケーションを表すために使用されます

起動中、Java Web Start がアプリケーションをユーザーに提示するとき。アプリケーションマネージャーで; デスクトップのショートカットで。ダウンロード中は 64x64 のアイコンが表示されます。Application Manager とデスクトップ ショートカットでは、32x32 のアイコンが使用されます。Java Web Start は、アイコンを適切なサイズに自動的にサイズ変更します。

OSXドックについては明示的に言及していませんが、簡単なテストで、実際にアイコンも配置されていることが明らかになりました。

于 2012-10-22T19:38:17.393 に答える
1

jnlpだけでなく、他の展開方法にも役立つ別のアプローチをお勧めします。

コードでリフレクションを使用して、OSX 固有のコードを追加できます。Windows でアプリケーションをコンパイルし、Mac 用のドック アイコンを追加しました。

javax.swing.ImageIcon icon = ...
Class c = Class.forName("com.apple.eawt.Application");
Method m = c.getMethod("getApplication");
Object applicationInstance = m.invoke(null);
m = applicationInstance.getClass().getMethod("setDockIconImage",  javax.swing.ImageIcon.class);
m.invoke(applicationInstance,icon);
于 2013-10-04T03:12:51.597 に答える