web-dev-qa-db-ja.com

.bashrcにJava_HOME(JDK)を追加する

Ubuntuをインストールしたばかりで、Java 7u55(JDK)で、Java_HOMEを環境変数として構成しようとしています。

~/.bashrcに追加しました:

# Exports
Java_HOME=/home/myuser/sandbox/Java/7u55/jdk1.7.0_55
export PATH=$PATH:Java_HOME

しかし、ターミナルを閉じて新しいシェルを開いてwhich JavaまたはJava -versionと入力すると、Ubuntuは何を話しているのかわからないようです(プログラムJavaは1つにあります)いくつかのパッケージの中で、Sudo apt-getを使用してそのうちの1つをインストールするように求められます)。

何が間違っていますか?

4
zharvey

まず、輸出ラインにタイプミスがあります。そのはず

export PATH=$PATH:$Java_HOME/bin

スペースなし、Java_HOMEの前に$文字を追加、/binを追加

ただし、上記の行を修正しても、Javaのインストールに関する問題が修正されない場合があります。 Javaをインストールする最も簡単な方法は、webup8 ppaを使用することです。

Sudo add-apt-repository ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get install Oracle-Java7-installer

最後のコマンドの後、スクリプトはjdkをOracle Webサイトから自動的にダウンロードしてインストールします。チュートリアルを読むことができます こちら

8
pram

環境変数Java_HOMEを設定しましたが、これはJREまたはJDKがどこにあるかを知りたいアプリケーションが使用する値にすぎません。

PATHは、実行可能ファイルを実行しようとしたときにシェルが探しているものです。したがって、Java -versionと入力すると、JDKフォルダーが検索されます。 Javaは実際には$Java_HOME/binの中にあることに注意してください。それが見つからない理由です。

それが説明です。

修正するには、$PATHに適切に追加します。

export PATH=$PATH:Java_HOME/bin

または、update-alternativesおよび JDKパスを追加 をシステムのJava代替に実行します。

例えば

update-alternatives --install "/usr/bin/Java" "Java" "/home/myuser/sandbox/Java/7u55/jdk1.7.0_55/bin/Java" 3
4
Mendhak

Sqoopがjdkを見つけられないため、このエラーが発生します。デフォルトではjreが使用され、sqoopジョブをコンパイルするために必要なjavacファイルはありません。

解決:

jdkがシステムにインストールされている場合、hadoop-env.shファイルで同じように構成します。

# The Java implementation to use.  Required.
export Java_HOME=/opt/jdk1.8.0_151/

.bash_profileファイル内。

好む:

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/jdk1.8.0_151/bin

次にsourceを実行します。 .bash_profile

これで、sqoopジョブのテストが正常に機能するようになりました。

1
dinesh rajput