2009-03-10 30 views
2

現在のJava 1.6アップデート11のディレクトリとサブディレクトリを、インストールするソフトウェアパッケージに埋め込みたいと思いますいくつかの他のPCと(これがあれば)これを行う上での欠点を知りたいと思うでしょう。私は、Java上の私のバージョンがPC上の他のバージョンを上書きしないようにしたいと思います。インストールする代わりにJavaのバージョンをあるPCから別のPCにコピーすることによって問題がありますか

答えて

4

Linuxでは、問題はありません。 Windows上でも、パスとJAVA_HOMEをディレクトリに設定してJDK/JREを使用している場合、問題はありません。ただし、アプレットプラグインを使用することはできませんが、レジストリを煩わせることはありません。

+0

2台のコンピュータが異なるチップアーキテクチャ(x86とamd64など)を使用していると問題が発生する可能性があるとします。 –

+0

+1しかし、javacpl.exeを実行してブラウザ用のプラグインを設定することもできます –

+0

@David:良い点 - 私はそれを考えなかった。 – talonx

1

私はこのソフトウェアを使ってJREをパッケージ化しているのを見たことがありますが、このアプローチの主な欠点はパッケージのサイズが大きくなり、JREを使用する良い理由の1つです(事実それは配布されているwidleyです)。

なぜ新しいJREを既存のものよりもインストールするのが心配ですか? JREは下位互換性があります。これがあなたのモチベーションであるならば、私は新しいJREをパッケージ化するのではなく、提案した方法でインストールすることを検討します。これは、下位互換性の問題はないはずです。

+0

私は同意しません。あなたがテストしたバージョンと同じように、あなた自身のJREにあなたのコードをインストールしてください。一般的なJREをアップグレードすると、他の人が後でそのコードを更新してコードを破ることができます。 JREは下位互換性があるべきですが、あなた自身のものを持つことが最も安全です。 –

+0

したがって、配布されたJREにセキュリティの脆弱性が存在する場合、ユーザーは最新のJREをダウンロードしてパッチを適用できません。代わりに、開発者がパッケージの新しいバージョンを送信するまで待つ必要があります... – hhafez

1

あなたの返信ありがとうございます。このアプローチを使用する理由は、私のアプリケーションの1つが1.6u11以上のJavaバージョンで動作しないためです。ユーザーがJava用に自動更新をonに設定している場合、または上位バージョンにアップグレードすることを決定した場合、Java 1.6u11でのみ動作する他のアプリケーションが壊れます。アプリケーションのインストールにjreファイル/フォルダ構造を埋め込み、そのバージョンのJavaを使用してアプリケーションを実行するためのiniファイルを指すことで、バージョンがアプリケーションによって使用され、JAVA_HOMEに定義されていないことを確認します。どちらかが1.6u11より高いか低い。

コメントはすべて歓迎されます。

+1

意味があります - 私はこのアプローチを、LinuxとWindowsの両方のアプリケーションで成功裏に同じ理由で成功裏に使用しました。 – talonx

+0

あなたのコードで古いJREバージョンを常に出荷するのではなく、1.6u11 +バージョンとの互換性を損なう問題を修正する方が簡単だと思います。 – mikera

関連する問題