特定のJavaバイナリを使用して特定のプロセスを呼び出すことができる必要があります。プロセスを「foo」と呼んでください。しかし、fooはJavaを介して他のいくつかのプロセスも呼び出しますが、fooは私にとってブラックボックスです。 fooがこれらのプロセスを呼び出すと、「java bar」、「java bat」などが実行されます。 fooとfooが呼び出すすべてのプロセスに/ full / path / to / javaのみを使用するように指示するにはどうすればよいですか?デフォルトでは、単一のシェルセッションおよび/または単一のプロセスツリーに「update-alternatives」を使用したいと思います。
オペレーティングシステムはCentos7で、シェルはbashです。
システムの他のプロセスには異なるJavaバイナリが必要なため、システムJavaを設定できません。
ベストアンサー1
~/myjava
シンボリックリンクのみを含むディレクトリを作成します/full/path/to/bin/java
。
mkdir ~/myjava
ln -s /full/path/to/bin/java ~/myjava/java
コマンド検索パスの先頭でこのディレクトリを使用してプロセスを実行します。また、一部のプログラムは環境変数を確認しますJAVA_HOME
。一貫性があることを確認してください。実際の実行可能ファイルは、またはjava
というサブディレクトリになければなりません。bin
$JAVA_HOME
PATH=~/myjava:$PATH JAVA_HOME=/full/path/to foo