2011-09-13 12 views
1

Java Web Startアプリケーション内からクライアントサイドのキャッシュされたjarファイルにアクセスできますか?Java Web Start Jar Access

私たちのアプリケーションは、さまざまなことをサブクラス化してGUIの適切な場所にオプションを配置するクラスを探して、デプロイメント・ジャーを読んでGUIを自動入力します。私たちは、アプリケーションをデプロイするためにJava Web Startを使用しようとしていると、伝統的に使用されています

MainClass.class.getProtectionDomain()getCodeSource()のgetLocation()

をjarファイルを見つけること、そしてにZipInputStreamエントリを使用しました。 .classで終わるファイルを探します。ただし、アプリケーションがWeb Startからデプロイされると、この場所はリモートサーバー上にあります。このジャーは80メガのようなものなので、アプリケーションのロード時間(最大30分)が非常に長くなります。

jarファイルのローカルコピーを見つける方法はありますか?

答えて

1

私は大きなJAWSプロジェクト(私はここで約35 MBの1つを持っています)は、実際のプロジェクトをローカル(ユーザー)フォルダにプルする小さなランチャーJAWSを作成することです。

プロジェクトが複数のファイルで構成されている場合、必要なすべてのファイル(およびフォルダ)を処理できるように、release.xmlファイルなどをビルドする必要があります。

ヒント:XML情報にファイルサイズとチェックサムを追加すると、更新を検出して変更されたファイルをダウンロードすることができます。

あなたのディストリビューションがダウンロードされると/更新、あなたはjarファイルを検索するのではなく、実行時に認識したいクラスの

java -jar downloadedAppMainJar.jar 
1

使用注釈を呼び出すプロセスを()を起動します。

1

..より良い代替ですか?

あなたは80メガを構築したようです。 Jarは提供されています。ビルド時に、クラスのリストをコンパイルし、そのリストをJar内の既知のパス/名前(例:/resources/plugin-list.txt)に含めます。実行時にそのファイルを読み、あなたのリストがあります。


単一のJarのサイズを考えると、別のJarsパッケージに分割することをお勧めします。そうすれば、2つのパッケージ(10個中)のクラスだけが変更されると、JWSによって2個のアーカイブのみが自動的に更新されます。

関連する問題