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用の環境変数の一つ。
コメントを残す