私はデスクトップのSwingアプリケーションを開発しました。自動更新機能を提供するための最良の方法について考えています。 私はJavaWebStartがこれを提供していることを知っていますが、私はJarファイルに署名する必要があるので、ローカルファイルを読む必要があるため、私のニーズに合わないと思います。さらに、JWSはサーバーに展開するために余分な作業を必要としますが、現在は.jarをアップロードするだけです。Java Swingデスクトップの自動更新機能App
私は、このアプローチについて考えてきた:
(更新する必要はありません)最初のJARは、スプラッシュスクリーンをロードconfig.xmlで現在のバージョンを確認し、サーバーの設定と比較します。 xml。
サーバーのバージョンが新しい場合は、更新するかどうかをユーザーに確認してください。その場合は、新しい "main.jar"、新しい "config.xml"と新しいスプラッシュ/アイコンをダウンロードし、MD5SUMをチェックし、古いファイルを新しいものに置き換えてください。
"main.jar"を起動します。
私は車輪を再発明しようとしている場合、または上記のものより良いパターンがある場合は、私は分かりません。
あなたは車輪を革新しています。あなたはJava WebStartについて言及しているので、すでに知っています。サーバー上の配置は最小限で、ファイルをいくつか投稿するだけで、サーバー上にアクティブなコンポーネントは必要ありません。 –
httpsからのハッシュをチェックするのではなく、証明書を使うことをお勧めします。ハッシュ技術では、httpsサーバーが侵害されたとは、すべての自動更新クライアントを危険にさらすことを意味します。 /さらに、ダウングレード攻撃を避けるために最新のバージョンをインストールしていることを確認してください。/WebStartは、ファイルブラウザの制御/カスタマイズは制限されていますが、ファイルの使用に限られたインターフェイスを提供します。 –
私はそれがとても小さいとは思わない。私はそれが私によって制御されていないサーバーにまったく展開する必要があります。私は、例えば、ミメテイプを変更することはできません。私が言ったように、ローカルファイルにアクセスする必要があるので、私はそれに署名する必要があります。 – ktulur