0

私はJavaでアプリケーションを構築しており、時間の経過とともにいくつかの更新が行われます。これは、クライアントが新しい.jarをダウンロードし、利用可能な場合はそれを使用する必要があることを意味します。jws(java web start)について読みましたが、正常に動作します。しかし、問題は、私のアプリケーションが私が作成したプロトコルを使用していて、サーバーに接続できるようになることです。インターネットに接続していない可能性があり、そのサーバーにWebサーバーをインストールできないはずです。では、自分のプロト内でJNLPを使用する方法はありますか?それとも私はそれをすべて自分でしなければならないのですか?新しいjarをダウンロードして、古いjarを削除しますか?

4

2 に答える 2

0

アプリケーションがWebStartに基づいている場合は、自動的に更新が実行されます。ただし、これはHTTPなどの既知のプロトコル(およびFTPなど)でのみ機能しますが、試したことはありません。Web Startを独自のプロトコルで動作させることはできないと思いますが、カスタムURLConnectionFactoryを使用してそれを実行し、プロトコル用に独自の接続ハンドラーをロールすることはできます。見るjava.net.URL.setURLStreamHandlerFactory(URLStreamHandlerFactory)

とにかく、この場合、要件は非常に具体的であるように思われるため、カスタム更新の実装を使用します。アプリは、更新メカニズムを備えた既存のフレームワークに基づいていないようです(たとえば、P2マネージャーまたはNetBeansを備えたEclipse RCP、またはJavaプラグインフレームワークまたはMaven ...)。

于 2010-09-27T11:53:11.917 に答える
0

問題は、アプリケーションを起動するために必要なファイルをJava WebStartにダウンロードする方法です。独自のプロトコルしか持っていない場合、Java WebStartを実行しているマシンには、プロトコルを通信できるものがないため、取得できません。ダウンロードしたものは何でも。

つまり、Java WebStartが正常に機能するには、どこかにWebサーバーが必要です。

(サーバーがない場合、「JWSキャッシュのシード」が実行可能なオプションであるとは考えていません)

ただし、アプリケーションのファイルを提供できるGoogle Application Engineアプリケーションを簡単に作成できます。これは、Java WebStartには十分です(さらに、プログラムがアプリケーションへの接続先を認識できるようにする構成をいくつか囲みます)

于 2010-09-27T11:57:38.010 に答える