web-dev-qa-db-ja.com

作成方法Java JNLPをダブルクリックせずにWeb起動を自動的に開始

ウェブサイトを通じてお客様がアクセスするJavaアプレットアプリケーションがあります。 Microsoft EdgeとchromeはJavaプラグインのサポートを停止したため、アプレットをJNLPおよびJava Web Startを介して起動するように変換しました。残念ながら、両方のブラウザーでJNLPダウンロードして、顧客はJava Web Startを起動するためにファイルをダブルクリックする必要があります。

私たちの顧客はこの振る舞いに完全に失望し、この問題の解決策を見つけようとしています。

9
ManKeer

可能な解決策

1)ブラウザの動作を変更して、ユーザーがJNLP link。その後、ユーザーはOpen with: Java web start launcherまたはsave file

editFirefoxでは動作しますが、Chromeでは動作しません。関連するバグレポートを参照してください 10877 および 未解決の問題

2)実行するスクリプトをユーザーに提供します
javaws https://example.com/your_application.jnlp

デモンストレーションの例(Oracleチュートリアルからのアプリケーションリンク: Running a Java Web Start Application

javaws https://docs.Oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

これにより、簡単なJavaアプリケーションが開きます。

edit大胆不敵な人のために、Chrome用のハッキングソリューションがあります。

  1. chromeを閉じて、次の手順で変更されたファイルのコピーを常に作成することに注意してください;-)
  2. Chromeライブラリchrome.[so|dll]バイトjnlpとパッチを適用します。 jnl-
  3. ChromeユーザープロフィールディレクトリでファイルPreferencesを見つけ、次のように修正します...

"download": {
    ...
    "extensions_to_open": "jnlp",
    ...
},

次回JNLPファイルへのリンクをクリックすると、自動的に開きます(このファイルタイプを開くように割り当てられているアプリケーションで、通常はjavawsです)。

このプロパティは、ソース pref_names.cc を調べた後に見つかりました。しかし、Chrome=拡張子jnlp危険 として扱います。そのため、ライブラリにもパッチを適用する必要があります。

9
SubOptimal