0

webstart を使用して Java クライアントをデプロイするときは、拡張 jar ファイルをパッケージ化する必要があります。拡張 jar を下にインストールしjre/lib/ext、WebStart によって開始されたときに Java クライアントで使用できるようにする必要があります。

ファイルを適切な場所にコピーすることはできましたが、直面していた問題は、拡張 jar を にインストールした後lib/ext、新しい jar を取得するためにクライアント JVM を再起動する必要があることでした。

JVM を再起動する必要がないようにするにはどうすればよいですか?

4

1 に答える 1

1

JVM を再起動する必要がないようにするにはどうすればよいですか?

AFAIUはできません。クラスローダーは通常、クラスやその他のリソースをリロードしません。ブートストラップやその他の JRE 関連のクラスローダーを変更する (または違いを生むためにすぐに変更する) ことは不可能または非現実的だと思います。

別の戦略として次のようなものがあります。

  • リソースの存在を確認する
  • 見つからない場合は、installer-descこの実行と次の拡張機能 を使用してインストールされたと推測します。
    • BasicService.showDocument(URL)JNLP URL を使用して呼び出し、新しいインスタンスを開始します。
    • System.exit(0)現在のインスタンスを呼び出して終了します。

JOptionPane再起動を確認するためにポップするのにお金がかかるかもしれません。例えば

OGG をすぐにエンコードするには、アプリを再起動します。
再起動?

OK Cancel

余談として。通常、JRE のどのディレクトリにもアーカイブを配置 しないことをお勧めします。

于 2012-09-03T02:55:40.997 に答える