web-dev-qa-db-ja.com

同じコンピュータでJavaの2つの異なるバージョンを使用する方法?

Java 1.6でのみ動作するアプリケーションと、最新のJava 1.7。

両方のJavaがコンピューターにインストールされています。しかし、残念ながら、アプリケーションの実行中にどちらのJavaを使用するかを自動的に検出することはできません。

デフォルトではコンピューターは1.7を使用しているようです。そのため、アプリケーションを使用するときは、コンピューターが1.6を使用できるように、コントロールパネルに移動して1.7を無効にする必要があります。

それに対する解決策はありますか?コンピュータのように、アプリケーションの1.6とブラウザへのロードの1.7を自動的に理解します。

2
user1449596

問題は、使用するJavaバージョンがシステム変数Java_HOMEで構成されているか、関連するJava.exeをbinパスに追加することによって構成され、システム全体がこれら2つの場所を参照することです。

別のJava=バージョンを使用して実行するには、そのバージョンを実行する必要があります。

そのため、Webブラウザで必要なバージョンをメインバージョンとして構成します。

次に、プログラムを実行するリンク/バッチ/何でも作成し、実行するJavaを直接選択します。つまり、

/Java6/bin/Java.exe MyApp.jar
4
Tim B

Java 1.7.0_40 +を使用している場合は、展開ルールセットを使用して問題を解決できる可能性があります。

通常のバックエンドJavaプログラムに影響を与えることなく、ブラウザアプレットのセキュリティと互換性の問題に対処するように設計された「Deployment Rule Set」と呼ばれる新機能がJava 7 update 40で導入されています。 Eclipse、Freemind、Tomcatなど。具体的には、この展開ルールセットは2つの主要なポイントに対処します。

Javaバージョンの互換性を制御するデスクトップ管理者の機能、およびエンドユーザーのデスクトップでのデフォルトの選択。たとえば、ユーザーはほとんどのブラウザアプレットに最新のセキュリティ更新を使用しているかもしれませんが、メンテナンスされなくなった1つのレガシーアプリケーションに対して古いJava 1.6を使用しています。誰がアプリケーションを作成したか、およびデフォルトの対話(質問、実行、またはブロック)に関するエンドユーザーの認識。実際の会社や署名者を見ることで、ユーザーは知らない人によってコードを実行することから保護されます。たとえば、「私の大学」や「エリックコストロー」は信頼しますが、「不明な出版社」や他の誰かが私であると主張することは信頼しません。詳細については、展開ルールセットに関するOracleの記事をご覧ください。

https://blogs.Oracle.com/Java-platform-group/entry/introducing_deployment_rule_sets

0
Mevans