非標準アプリケーションを開発しています。基本的には、組み込みの Mozilla ブラウザー (mozilla-interfaces-1.9.2.12.jar、mozilla-glue-1.9.2.12.jar) を使用する SWT アプリケーションであり、アプレットを含む html ページを表示する必要があります (これも私が開発したものです)。これらのアプレットは署名され、証明書はキーストアにインポートされます。標準のスタンドアロン Mozilla ブラウザでアプレットを実行すると、すべてがうまく機能します。
SWT アプリケーションを通常どおりに (つまり、SecurityManager を使用しないスタンドアロンの Java デスクトップ アプリケーションとして) 実行しても、すべて正常に動作します。埋め込みブラウザが表示され、アプレットを含む html ページが表示されます。
しかし、このアプリケーションを Java Web Start (jnlp) で実行しようとするとすぐに問題が発生します。私の jnlp は明確に定義されていると思います。インターネットでの議論で見つけたすべてのタグが含まれています。たとえば、
<security>
<all-permissions/>
</security>
など。私のSWTアプリケーション、それぞれ。すべての jar ファイルが署名されています (アプレットに使用されたものと同じ証明書)。正常に起動し、すべてのアクセス許可と署名なしでは許可されない操作を実行し、SWT ウィンドウも表示します (したがって、SWT 自体は正常に動作します) が、組み込みブラウザーを表示する必要があるときに、UnsatisfiedLinkException が発生します。面白いことに、特定の権限セットで .java.policy ファイルを作成すると、正しく動作し、アプレットも動作します。シャーロック・ホームズの役を演じる私は、この一連の許可が含まれていることを理解しました
java.io.FilePermission
java.lang.RuntimePermission
+ permissions that are neccessary for applets.
それはあなたの誰にとっても意味がありますか?アプリケーション自体が署名されており、jnlp ファイルにタグが存在するという事実を無視する、ある種の特定の SecurityManager で swt mozilla ブラウザが実行されているようです。
アプレットなしでページをロードすると、ブラウザ ウィンドウを表示するには 2 つのアクセス許可が必要です。.java.policy ファイルを使用せず、ユーザー側で追加の設定を行わずに、このアプリケーションを実行したいと考えています。すべてのアドバイスに感謝します。
前もって感謝します。
ボイタ