web-dev-qa-db-ja.com

すべてのユーザーに対してLinuxでJava_HOMEを設定する方法

私はLinuxシステムに不慣れで、Javaフォルダが多すぎるようです。

Javaバージョンは私に与える:

  • Javaバージョン "1.7.0_55"
  • OpenJDKランタイム環境(rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64ビットサーバーVM(ビルド24.51-b03、混合モード)

Mavenプロジェクトを構築しようとすると、エラーが発生します。

Error: Java_HOME is not defined correctly.
We cannot execute /usr/Java/jdk1.7.0_05/bin/Java

Root以外のユーザーだけでなく、root用にどのファイルを変更する必要があるのか​​、またJavaはどこにあるのですか?

123
Amruta
  1. find /usr/lib/jvm/Java-1.x.x-openjdk
  2. vim /etc/profile

    非特権ユーザーとしてログインしている場合はSudoを前に付けます。 Sudo vim

  3. 挿入モードに入るには 'i'を押してください
  4. 追加:

    export Java_HOME="path that you found"
    
    export PATH=$Java_HOME/bin:$PATH
    
  5. ログアウトして再度ログインするか、再起動するか、source /etc/profileを使用して現在のシェルにすぐに変更を適用します。
255
That Dave Guy

すべてのユーザーにとって、/etc/profileに次の行を追加することをお勧めします。

export Java_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

これは動的に更新され、 alternatives システムとうまく機能します。ただし、更新は新しいログインシェルでのみ行われることに注意してください。

81
Eero Aaltonen

/ etc/profile、あるいは/etc/profile.d/jdk_home.shのようなファイルを使用することができます。

export Java_HOME=/usr/Java/jdk1.7.0_05/

このファイルには新しいログインシェルしかロードされないことを覚えておく必要があります。したがって、bash -lまたは新しいgnome-sessionの後で、新しいJavaバージョンでは変更されません。

30
flob

Java_HOME/etc/profileに直接~/.bash_profilePATHを設定してもうまくいかないでしょうが、RHEL 7では他の答えはどれも私にとって「固執」していませんでした。 Java_HOMEが設定されているかどうかを確認しようとするたびに、空白になります。

$ echo $Java_HOME
    (<-- no output)

私がしなければならなかったのは/etc/profile.d/jdk_home.sh script を設定することでした。

#!/bin/sh
export Java_HOME=/opt/ibm/Java-x86_64-60/
export PATH=$Java_HOME/bin:$PATH

最初の行(#!/bin/sh)は無視していましたが、それがなければ機能しません。

今それは働いています:

$ echo $Java_HOME
/opt/ibm/Java-x86_64-60/
24
Kyle Falconer

Linuxでパスを設定するのはとても簡単です。次のようにしてください。

Step-1 ターミナルを開いてSudo gedit .bashrcと入力

Step-2 パスワードを聞いてきます。パスワードを入力すると、bashファイルが開きます。それから終わりに行き、下記にタイプしてください

step-3

      export Java_HOME= /usr/lib/jvm/Java-8-openjdk-AMD64/

      export  PATH="$PATH:$Java_HOME/bin"

step-4 ファイルを保存してファイルから終了する

上記はシングルユーザー用です。すべてのユーザーにとって、以下の手順に従う必要があります。

ステップ-1 gedit /etc/profile

ステップ2 export Java_HOME=/usr/lib/jvm/Java-8-openjdk-AMD64/

ステップ3 export PATH=$PATH:$Java_HOME/bin

お役に立てれば。ありがとうございます。

8
PyDevSRS

その答えは以前の投稿が有効であることを示しています。しかし、1つの答えが完全ではありません。

  1. / etc/profileを変更することは、単に理由があるため(/ etc/profileに記載されているように)推奨されません。
  • 自分が何をしているのか分からない限り、このファイルを変更することはお勧めできません。あなたの環境にカスタムの変更を加えるために/etc/profile.d/にcustom.shシェルスクリプトを作成するほうがはるかに良いでしょう。
  1. そのため、上記のように、カスタム変更用の/etc/profile.d/custom.shファイルを作成します。

  2. さて、常に新しいバージョンのJavaをインストールして最新の状態に保つには、絶対パスを絶対に置かずに代わりに次のようにしてください。

#JDKをJavaホームにする

export Java_HOME = $(readlink -f/usr/bin/javac | sed "s:/ bin/javac ::")

OR

#JreをJavaホームとして作成する場合

export Java_HOME = $(readlink -f/usr/bin/Java | sed "s:/ bin/Java ::")

  1. そして #を使うことを忘れないでください。 custom.shファイルの/ bin/bash
5
alok ailawadi

Oracleがしていること(元Sunの社員としては慣れない)

ln -s latestJavaRelease/usr/Java/default
latestJavaReleaseは、使用したいバージョンです。

次にJava_HOME =/usr/Java/defaultをエクスポートします。

5
Steve S

インストールしたbinファイルのパスをコピーします。

「あなたのパス」

次のコマンドを入力して端末を開き、環境ファイルを編集します。

「Sudo nano/etc/environment」

このファイルに次の行を追加します(YOUR_PATHをコピーしたばかりのパスに置き換えます)。

Java_HOME = "YOUR_PATH"

環境変数を設定するにはこれで十分なはずです。今このファイルをリロードしてください:

「ソース/ etc/environment」

今実行することによってそれをテストします:

echo $ Java_HOME

3
VirangaMahesh

Linuxでは、この行を〜/ .profileに追加します。

export Java_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
2

私はコメントする特権を持っていないので、答えとして投稿してください。

注意すべき点 : "That Dave Guy"が投稿した一般的な回答に従ってください。

変数を設定したら、それがインストールされているJavaディレクトリに適切な権限を設定してください。

chmod -R 755 /usr/Java
1
Van Peer

私たちはJava_HOMEを設定することにしていますが、Java_HOMEまたは他の環境変数を設定することのいくつかの利点を共有しましょう。

1)アプリケーションの起動やJava_HOMEを指す設定ファイルに影響を与えずにJDKをアップグレードするのは簡単です。新しいバージョンをダウンロードし、Java_HOMEが新しいバージョンのJavaを指していることを確認するだけです。これは環境変数またはリンクを使用することの最大の利点です。

2)Java_HOME変数は、JDKインストールディレクトリへのフルパスではなく、短くて簡潔です。

3)Java_HOME変数はプラットフォームに依存しません。つまり、起動スクリプトがJava_HOMEを使用している場合、変更を加えずにWindowsおよびUNIX上で実行できる場合は、それぞれのオペレーティングシステムでJava_HOMEを設定するだけです。

続きを読む: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH

1
guest

ステップ1 - "echo $ Java_HOME"で現在のJavaのバージョンを確認する

ステップ2 - vim/etc/profile

ステップ3 - ファイルの最後にexport Java_HOMEがあります。ここで新しいパスを指定する必要があります。相対パスではないことを確認してください。

ステップ4 - 保存して終了する:wq

ステップ5 - "source/etc/profile /"、これは変更を実行します

ステップ6 - 再度$ Java_HOMEをエコーする - 変更が反映されているはずです。

0

このコマンドをdockerfileに追加するだけです。

RUN echo "Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")" | tee -a /etc/profile && source /etc/profile && echo $Java_HOME
0

これは問題を解決するためのとても簡単なスクリプトです。

export Java_HOME_BIN=`which Java`
export Java_HOME_DIR=`dirname $Java_HOME_BIN`
export Java_HOME=`dirname $Java_HOME_DIR`

そしてテストのために:

echo $Java_HOME
0
Dylan Breugne

おそらく、あなたが編集したどんなプロファイルでも、新鮮なログインを使わなくても済むように、ソースを作成することをお勧めします。

source/etc /またはのどちらかです。 /等/

編集したプロファイルはどこにありますか。

0