私は自分のイメージを次のように呼び出します:
ImageIO.read(this.getClass().getResource("../res/image1.gif"));
コマンドラインからこれを実行するとjava -jar "testWebStartRes.jar"
、イメージが読み込まれます。これを GlassFish サーバーに Web Start アプリケーションとしてデプロイすると、JNLP から起動したときにイメージが見つかりません。
スタックトレース:
Detected from bootclasspath: C:\\Program Files\\Java\\jdk1.7.0\\jre\\lib\\deploy.jar
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at main.Main.setAppIcon(Main.java:42)
at main.Main.<init>(Main.java:19)
at main.Main$1.run(Main.java:34)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Null Image
編集:質問をより理解しやすくしました。Andrew Thompson さんは、別の jar を使用して Web Start アプリをデプロイする方法を解決しました。