異なるJavaバージョンを使用して2つのプログラムを実行する

異なるJavaバージョンを使用して2つのプログラムを実行する

Cassandraにはjava7u25以降が必要で、iReportには1.6が必要なため、新しいCentOSに2つのJAVA JREをインストールしました。

コマンドラインから各プログラムを起動し、各プログラムに使用するバージョンをどのように通知できますか?

ファイルを変更する必要がありますか/etc/profile?それではどうでしょうか?

ベストアンサー1

どちらも連れて行くのは意味がありません。$PATH一つだけ使うようになるからです。たとえば、シンボリックリンクを別の名前に関連付けることができます。java6私はJavaで試したことがなく、動作しているかどうかはわかりません。

これを行う最善の方法は、その1つ(おそらく1.6)を同様の場所にインストールし、/opt/java61.7をデフォルト値のままにすることです。次に6を使用したい場合:

export PATH=/opt/java6/bin:$PATH

コマンドラインから始めてください。これらすべてを1つのスクリプトに入れることもできます。 Cassandraを削除しない限り、後で同じシェルでCassandraを実行しようとしないでください$PATH(確認する簡単な方法はですecho $PATH)。

特定のアプリケーションに対してこれを自動化するには、次のようにします。

#!/bin/sh

export PATH=/opt/java6/bin:$PATH
exec /path/to/application

$PATHその後、通常のファイル(たとえば)のどこかに配置し、/usr/local/bin実行可能であることを確認してから(chmod 755 whatever.sh)そのようにアプリケーションを起動できます。これは$PATH起動プロセスを妨げません。

おすすめ記事