Javaをインストールしてみる

技術ブログ

Mac OS X版のダウンロードとインストール

Javaインストールで検索したら

「Oracleのサイト」と、「Java」のサイトがあった。

迷ったあと、Javaの方をインストールすることに。

Mac用にJavaをインストールするにはどうすればよいですか。


このトピックは、次に当てはまります。:

  • プラットフォーム: macOS, macOS
  • ブラウザ: なし
  • Javaバージョン: 8.0

Oracle Java 8以降のバージョンのMacシステム要件

10.8.3以降のバージョンが実行されているX64ベースのmacOSプラットフォーム
管理者権限
64ビットのブラウザのみ(例: Safari)

Oracle JDK 8 and JRE 8 Certified System Configurations

私のMacはx64ベースなのか?:MacのプロセッサがARMベースかIntelベースかを確認する

  • ARMベース: Appleが自社で設計したプロセッサ。例えば、Apple M1, M1 Pro, M1 Maxなど。
  • Intelベース: Intel社が製造したプロセッサ。例えば、Intel Core i5, i7, i9など。
MacのプロセッサがARMかIntelかを簡単に確認する方法 #Mac – Qiita

M1だから、ARMだな。一応正規の調べ方でやってみる。

ターミナルを開いて、

% uname -m

x86_64

ええええ、Intelベースなのか?

次は、iTermを開いてコマンドを打ってみる。

% uname -m
arm64

どうやらRosettaを使用したターミナルセッションは、Intelをエミュレーションしているらしい。

Rosettaを使用せずにターミナルを起動した場合は、armになるそう。

コマンドを実行しているアーキテクチャがわかる。

Finderにて当該アプリを開く前の設定を行えるみたいで、
「Rosettaを使用して開く」にチェックが入ってたから、
Intelベースで動いていたみたい。

参考:【重要】MACのRosettaの確認方法と対応アプリケーションについて解説 | よっしーノート (yossi-note.com)

64ビットのブラウザのみ

Browsers

Safariは64bitらしい。

EdgeとかFirefoxとかも例にはある。Macのデフォルトブラウザではないだけだろう。

BrowserVersionPlatformNotes
Internet Explorer9+Windows OSsAs of April 2019 applets are no longer supported but are known-to-work in IE 11. See Oracle Java SE Support Roadmap
Microsoft Edge Windows OSsAs of April 2019 applets are no longer supported but are known-to-work in Edge when using IE mode. See Oracle Java SE Support Roadmap
Firefox All OSs that support FirefoxOn Firefox versions greater than 52 only Web Start applications are supported, Applets are not supported;
Chrome Windows OSsAs of Chrome 45 only Web Start applications are supported in Chrome, Applets are not supported
Safari5.xOS XUse 64 bit Browsers on OS X platforms to run the 64 bit JRE
Only Web Start applications are supported, Applets are not supported;
引用:Oracle JDK 8 and JRE 8 Certified System Configurations

よし、Javaのインストールに戻ろう

ダウンロード

jre-8u311-macosx-x64.dmgファイルをダウンロード

dmgファイルとは?:MacのOS上で動作する仮想ディスクイメージファイル。

※下にこんなものもあった。

まあ、正規で進む。

むむ、インストールしようとしてるのはJREらしい。

本当にこれでいいのか、、、?

JREはJVMしかインストールしてくれないらしい。

Javaは開発しないけど、動かしたいならJRE
Javaの開発をしたいならJDKということになります。

【Java初心者向け】Javaの環境構築手順 | Soloware Logs (solo-ware.com)

ややこしい理由は、『「Java」をインストールする』しか書いてないから。

Javaとは、

  • コンパイラ+JVMなのか
  • JVMのみなのか

公式サイトのどこ見れば違いがわかったんだろう。
下の方見ると、ReadMeがJDKとJRE両方ありますね。。。

InstallationInstructionsから、
JDK 8 and JRE 8 Installation Start Here (oracle.com)

を開きますと、両方書いてある。けど、インストールガイドだから違いというよりここの説明なんだよなあ。

サイト内検索を使って、公式サイト内で検索をかける。:指定したサイト内から検索キーワードに関連するページを探し出してくれるそう。

jre jdk 違い site:https://docs.oracle.com/

参考:【具体的に解説】サイト内検索とは?やり方や導入方法・メリットをわかりやすく解説 | ナイルのマーケティング相談室 (seohacks.net)

この公式ドキュメントがわかりやすそう。

Java SE Runtime Environment (JRE)

JREは、Javaプログラミング言語で記述されたアプレットやアプリケーションを実行するのに必要なライブラリ、Java仮想マシン、その他のコンポーネントを提供します。この実行環境は、作成したアプリケーションを独立して実行できるようにするため、アプリケーションと一緒に再配布できます。

Java SE Development Kit (JDK)

JDKには、JREのほか、アプレットやアプリケーションを開発するのに必要または便利なコンパイラやデバッガなどのコマンド行開発ツールが含まれています。

Java(tm)プラットフォームの概要 (oracle.com)

アプレット、アプリケーション、仮想マシン、コンポーネント、実行環境、再配布、
コンパイラ、デバッガ、コマンド行開発ツール

これらは一般的なワードなんだろうな

JREかJDKのどちらかをインストールすればいいということがわかった。Javaで作られたアプリケーションを単に実行したいというよりも、Javaのプログラム(簡単なもの)を書いて、コンパイルして、アプリケーションを作って、それをJVM上で実行させたいという感じで、分解してJavaプラットフォームの全体像を理解したいからJDKをインストールしよう。

JDKっと

When you install the Java Development Kit (JDK), the associated Java Runtime Environment (JRE) is installed at the same time.

JDK 8 Installation for macOS (oracle.com)

JDK(ランタイム)をインストールすると、JRE(実行環境)も同時にインストールされる。

ありがたい。

Javaアプリケーションを動かすには、絶対にJREが必要となってくるからであろう。

To install the JDK on macOS:

  1. Download the required JDK .dmg or .tar.gz file from Java Downloads:
JDK 8 Installation for macOS (oracle.com)

.dmgと.tar.gzの違いは?

どっちでもいいらしい。

ソフトウェアのインストール後は、削除していいのか!

ソフトウェアのインストール後、ディスク領域を節約する場合は、.dmgまたは.tar.gzファイルを削除します。

macOSでのJDKのインストール (oracle.com)

/usr/binから削除するだけではアンストできないのね。

ノート:

/usr/binからJavaツールを削除することでJavaをアンインストールしないでください。このディレクトリはシステム・ソフトウェアの一部で、次にOSの更新を実行するときに変更がリセットされます。

macOSでのJDKのインストール (oracle.com)

システム・ソフトウェアとは?

dmg tar.gz 違い

tar.gzは、tarコマンドを使用してファイル群を圧縮した場合の拡張子らしい。

dmgとは

macOSのアプリのコンテナーです。それらを開き、アプリをアプリケーションフォルダーにドラッグしてから取り出します。これにより、ほとんどのWindowsアプリの恐ろしい「インストールウィザード」の手間を省くことができます。
macOSがDMGファイルを使用する主な理由は、ファイルが正しくダウンロードされ、改ざんされていないことを確認するためです。 DMGファイルには、チェックサムと呼ばれるものが含まれています。これは、基本的に、ファイルが100%無傷であることを確認します。これは、ファイルを開いているときに表示されるものです。

DMGファイルとは何ですか(そしてどのように使用しますか)? – TheFastCode

今回はコードを書いて、コンパイルして、実行する、という一連の流れを行いたいのでJDKをインストールすることにする。

JD22、21、17とあるが
JDK21は2026年までアップデートをしてくれるらしいので、21にしよう。

今回はmacOSに入れるけど、LinuxやWindowsも入れてみようかな今度。

tar.gzファイルをダウンロードします、、、

インストールガイドが見当たらない。22がデフォルト画面になってしまう。21を探す。

これでいいのかな

JDK22と書いてある右横の矢印(▼)をクリックすると

複数バージョン出てきた

tar.gzは、インストールガイドに載ってなかったのでこちらを参照。ターミナル上でtarコマンドを使って展開するらしい。

OpenJDK を MacOS にインストールする方法。最終版。 #Java – Qiita


.pkgがなかったから、

dmgファイルをインストールした

$ tar zvxf openjdk-14.0.1_osx-x64_bin.tar.gz 

Java SEとOpenJDKは何が違うのか??

~ % /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    21.0.3 (arm64) "Oracle Corporation" - "Java SE 21.0.3" /Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home

 ~ % tar zvxf ./Downloads/openjdk-21.0.2_macos-aarch64_bin.tar.gz

~ % /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    21.0.3 (arm64) "Oracle Corporation" - "Java SE 21.0.3" /Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home
    21.0.2 (arm64) "Oracle Corporation" - "OpenJDK 21.0.2" /Library/Java/JavaVirtualMachines/jdk-21.0.2.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home

Macの場合は、これで環境構築完了。
※Windowsの場合は、環境変数設定をしなければならない。

パスは「/Library/Java/JavaVirtualMachines」ここに置いてあった。

VisualStudioCodeでの設定

JavaExtentionをインストール

VS Codeの設定で(Macだからか)JAVA_HOMEすでに設定してあった。

iTerm2でjava_homeを確認すると、jdkが設定されている

% /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home

Javaを動かす

Javaのコードを記述して

public class Main {
  public static void main(String[] args){
    System.out.println("Hello World!");
  }
}

コンパイルを実行

javac Main.java

コンパイル後のバイナリファイル(class拡張子)ができる

バイナリ実行

% java Main

実行結果

> Hello World!

終わり

コメント

タイトルとURLをコピーしました