オーダーメイドコース
icon
icon

Linux環境でJAVA_HOMEを設定する方法を現役エンジニアが解説【初心者向け】

初心者向けにLinux環境でJAVA_HOMEを設定する方法について解説しています。環境変数JAVA_HOMEの役割、設定方法と設定が反映されているかを確認するまでの手順を順番に見ていきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Linux環境でJAVA_HOMEを設定する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもJavaについてよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Linux環境でJAVA_HOMEを設定する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

環境変数JAVA_HOMEについて

まずは、環境変数であるJAVA_HOMEの意味についてかんたんに解説します。環境変数というものはプログラムを呼び出したりするときに必要なファイルの存在するディレクトリのパスを記憶しておくための変数です。

環境変数にあらかじめパスを格納させておくことによって、いちいちディレクトリを指定したりする必要がなくなります。Javaプログラムを動かすときに必要なjavaコマンドについてはPATHもしくはJAVA_HOMEに保存されています。

 

[PR] 未経験からWebエンジニアを目指す方法とは

JAVA_HOMEの設定方法

LinuxにおいてJAVA_HOMEを設定するには、シェルが起動したときに読み込まれるファイル、ログインしたときに読み込まれるファイル、特定のユーザーでログインしたときに読み込まれるファイルなどのいずれかに、環境変数を設定するコマンドを記述すれば良いです。

ここでは、ユーザーがログインしたときに実行されるファイルにコマンドを記述する方法について紹介します。

そのためには、ルートディレクトリに存在する.bash_profileというファイルに

export JAVA_HOME="ファイルパス"
export PATH="$JDK_HOME$PATH"

を書き込んで保存すればよいだけです。

 

実際に設定してみよう

では、実際に環境変数JAVA_HOMEを設定して、確認してみましょう。まずは、Javaのパスを取得しておきます。コマンドラインで

$ dirname $(readlink $(which java))

を実行すると

/usr/lib/jvm/java-11-openjdk-amd64/bin

のようにパスが表示されるので、コピーしておきましょう。(パスはそれぞれのコンピュータ環境によって異なることに注意してください。)

次に、

$ vi ~/.bash_profile

を実行すると、.bash_profileという名前のファイルの編集画面が表示されます。iキーを押して編集モードになったら、先程保存したパスを

export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin"
export PATH="$JDK_HOME$PATH"

のように記述して、

Escキーを押した後、:wq!を入力し、Enterを押すと、ファイルの編集保存が完了します。あとは、コマンドラインを再起動して、

$ echo $JAVA_HOME

を実行してみましょう。すると、

/usr/lib/jvm/java-11-openjdk-amd64/bin

のように表示され、環境変数JAVA_HOMEがきちんと設定されていることが確認できました。

 

まとめ

この記事では、Linuxにおいてプログラムを動かすときに必要となる場合がある環境変数JAVA_HOMEの設定方法について解説しました。設定の方法は必ずしも一意ではありませんが、一例として方法を紹介したので、必要な場合には参考にしてみてください。

 

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプJava講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。