2009年11月22日日曜日

!MESSAGE Product xxx.product could not be found.

以下、RCP アプリの Java Web Start 配布を実験していてハマった事と、そのオチ。
========
Eclipse RCP (Rich Client Platform)をブラウザのリンクから Java Web Start で配布できるようにしたくて、Hello RCP を JNLP 経由で起動しようと悪戦苦闘するものの、どうにもはかどらない。

具体的には、ブラウザで開いた HTML ファイルから JNLPファイル へのリンクを叩くと、Java Web Start がファイルをダウンロードして署名をチェックしたり、一通りの動作をして、さて起動するかと思ったら、何も起こらないという状況。

環境は、
・Eclipse 3.5 Galileo
・JDK 1.6.0_13

JNLP ファイルの書式・内容や、Plug-in/バンドルの構成を確認しても、どうしても問題が見当たらない。英文やかなり古い記事も含めたネット上の文章を見ても、全然、関係ありそうなものがない。

しばらく悩んで右往左往した後、JNLP の osgi.instance.area プロパティで指定したフォルダに、以下のようなエラーログが吐かれているのに気付く。
!SESSION 2009-11-22 19:31:18.265 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_15
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP

!ENTRY org.eclipse.equinox.app 0 0 2009-11-22 19:31:19.203
!MESSAGE Product hellorcp.product could not be found.

!ENTRY org.eclipse.osgi 4 0 2009-11-22 19:31:19.234
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236)
…略
at com.sun.javaws.Launcher.run(Launcher.java:165)
at java.lang.Thread.run(Thread.java:595)

!ENTRY org.eclipse.osgi 2 0 2009-11-22 19:31:19.265
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-11-22 19:31:19.265
!MESSAGE Bundle hellorcp_1.0.0.200911221859 [68] was not resolved.
!SUBENTRY 2 hellorcp 2 0 2009-11-22 19:31:19.265
!MESSAGE Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.6

淡い期待を抱いて、エラーメッセージをいろいろ組み合わせてググって、更にいろんな記事を漁ってみるものの、やはり情報が得られず更に深く落胆する。

ふと思い立って、これまでよりじっくりとエラーログを見直して、「java.version=1.5.0_15」となっている事を、やっとの事で理解する。もう2・3年前からJDK 1.6を使っているはずなのに、なぜか Java 5 が動いている。ファイルの関連付けを確認すると、*.jnlp に JDK 1.5 の javaws.exe が関連付けられている。くっそ、これですかと・・・

Java 6 の javaws.exe が *.jnlp を開くように関連付けると、なんなく動いた。
まあ、3時間以上は悩んだな(笑

0 件のコメント:

コメントを投稿