Hello Javaができました。

はじめに

前回、Hello Javaが上手くいかなかったのですが、今回うまくいきました。

目次

Hello Javaのために行ったこと

  • JDKのインストール
  • エディタの変更
  • 拡張機能のインストール
  • JDKのパスを通す(1回目)
  • プロジェクトを作成する
  • JDKのパスを通す(2回目)

JDKのインストール

stackover flowの回答欄にあった「brew install openjdk@11」を行いました。

ターミナルを開き、まずは以下のコマンドを入力しました。

brew install openjdk@11

いろいろな処理が走り、JDKのインストールが完了しました。

brewについて

ちなみに、brewというのはパッケージ管理ツールのHome brewのコマンドです。

Homebrewについては、こちらの記事が参考になります。

エディタの変更

前回は、Eclipse(主にJava開発で利用されるIDE: 統合開発環境で、Hello Javaを行おうとしました。

しかし、今後は使い慣れているVScodeでやっていきたいと思います。

VScodeを日本語に

VScodeを英語で使用していたので、この機会に日本語にしました。

Japanese Language Pack for Visual Studio Codeをインストールして、

再起動を行うと日本語になっていました。

拡張機能のインストール

Extension Pack for Javaのインストールを行いました。

まずは左側の拡張機能のアイコンをクリックし、

検索欄に文字列を打ち込み、インストールを行いました。

JDKのパスを通す(1回目)

設定アイコンをクリックし、

java.homeと入力して、

setting.jsonで編集をクリックして、

java.homeの値として、jdkのパスを入力しました。

"java.home": "/Library/Java/JavaVirtualMachines/openjdk-11.jdk"

jDKのパスは、JDKをインストールした時に以下のように言われていて、こちらを参考にしました。

==> openjdk@11
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

また、以下のコマンドを実行しました。

sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

実行するとPCのパスワードを求められ、パスワードを入力すると入力待ちの状態になりました。

ただし、この時に設定した「java.home」のパスは間違っていました。

プロジェクトの作成

VScodeでコマンドパレットを開き、

Create Java Projectを選択し、

No build toolsを選択し、

Finderで作成した「my-java」を選択しました。

Javaのプロジェクト名を入力するように言われたので、Testと入力しました。

そうするとJava開発に必要なファイル一式が生成されました。

srcのApp.javaを開くとエラーが発生しました。

setting.jsonの以下の記述に誤りがあったと思われます。

"java.home": "/Library/Java/JavaVirtualMachines/openjdk-11.jdk",

JDKのパスを通す(2回目)

JDKのインストール先を確認するコマンドをターミナルに打ち込むと、

/usr/libexec/java_home -V

JDKのインストール先が表示されました。

Matching Java Virtual Machines (2):
    11.0.17 (x86_64) "Homebrew" - "OpenJDK 11.0.17" /usr/local/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home
    1.8.351.10 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
/usr/local/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home

このパスを「java.home」の値として設定しました(これが正解)。

"java.home": "/usr/local/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home",

一応やってみたこと

JDKをインストールしたときに以下の記述があったので、実行してみました。

If you need to have openjdk@11 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc

以下も実行しました。

For compilers to find openjdk@11 you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk@11/include"

ついにHello Javaが成功した

src > App.javaを開いた状態で、

右上の「Run Java」をクリックすると、

ターミナルが開き、Hello, Worldが表示されました。

今回のテーマが「Hello Java」を実行することなので、

Hello Javaに変更して、実行ボタンを押すと、

ターミナルが開いて、Hello Javaが実行されました。

用語説明

環境変数とJAVA_HOMEについて説明します。

環境変数

OS自体が持つ共有機能で、全てのプログラムで共通して使うことができる。

パスを通すとは、環境変数の一つである「PATH」に対して、実行ファイルのあるディレクトリを指定すること。

Javaでは、JDKをインストールし、インストールされたディレクトリをPATHに設定する作業が必要。

JAVA_HOME

Java用の環境変数の一つ。

参考サイト

Java開発の必須知識 「パスを通す」の意味を知ろう【Mac】 | ポテパンスタイル

VSCodeでJavaを始める方法(環境構築) – teramaguroのブログ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です