Skip to main content

macOSにJavaをインストールする方法

著者
feature java dto

2024年4月17日

0 分で読めます

Javaとは?

Javaは、実装への依存をできるだけ少なくすることを目指して設計された、高水準でクラスベースのオブジェクト指向プログラミング言語です。1995年にSun Microsystemsが発表したコンピューティングプラットフォームでもあります。現在、多くのアプリケーションやWebサイトはJavaがインストールされていないと動作せず、日々さらに多くのものが作られています。

Javaは「Write Once, Run Anywhere(1度書けば、どこでも実行できる)」という機能でよく知られています。これは、コンパイル済みのJavaコードが、再コンパイルしなくてもJavaに対応するすべてのプラットフォームで実行できるということです。高速で、安全性と信頼性に優れており、モバイルアプリケーションからエンタープライズ向けソリューションまで、幅広い用途に適しています。

public class HelloWorld {
    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        System.out.println("Hello, World");
    }
}

上のコードスニペットは、最もシンプルなJavaプログラムの1つである「Hello, World」プログラムです。この小さなプログラムには、クラス定義、メソッド定義、そしてJavaアプリケーションのエントリーポイントとなる、よく知られた`main`メソッドなど、Javaの重要な特徴がいくつか示されています。

macOSにJavaをインストールする理由

Javaは、エンタープライズアプリケーションやWebコンテンツの開発とデプロイを支える基盤です。コミュニティ主導のライブラリ、フレームワーク、APIの基盤となるため、堅牢でスケーラブルなアプリケーションの開発に最適な言語です。

macOSユーザーは、システムにJavaをインストールすることで、ソフトウェア開発の可能性を大きく広げられます。高速で、安全性と信頼性に優れたプラットフォームであり、シンプルなWebページから複雑なエンタープライズソリューションまで、幅広いアプリケーションの開発とデプロイに利用できます。

以降のセクションでは、macOSにJavaをインストールする手順を解説します。すぐにアプリケーションの開発を始められるよう、準備を整えていきましょう。

OpenJDKとは?

OpenJDKはOpen Java Development Kitの略で、Java Platform, Standard Edition(Java SE)の無料のオープンソース実装です。Oracleが管理しており、IBM、Red Hat、Appleなどの大手企業も貢献しています。OpenJDKはJava SE仕様の公式リファレンス実装を提供します。

OpenJDKとOracle JDKの比較

OpenJDKとOracle JDKは、当初は非常によく似ており、主な違いはOracle JDKに商用機能がいくつか追加されていることでした。しかし、Java 11のリリース以降、Oracleはリリースモデルとライセンス条件に大きな変更を加えています。

現在、Oracle JDKは本番環境で使用する場合、商用ライセンスのもとで提供されます。一方、OpenJDKはリンク例外付きのGPLオープンソースライセンスで公開されています。そのため、ライセンス料を気にせずOpenJDKを利用できます。

また、Oracle JDKは6か月ごとに機能リリースがあるのに対し、OpenJDKは長期サポート(LTS)付きのメジャーリリースを3年ごとに提供しています。

// code runs the same on both OpenJDK and Oracle's JDK
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

上記のJavaコードでは、OpenJDKとOracle JDKのどちらを使っていても違いはありません。出力は同じ`Hello, World!`になります。

JavaエコシステムにおけるOpenJDKの重要性

OpenJDKは、さまざまな理由からJavaエコシステムで重要な役割を果たしています。まず、Java SEプラットフォームのリファレンス実装であり、他のすべての実装の基準となっています。

次に、オープンソースであるため、幅広い開発者コミュニティが開発に参加できます。これにより、より堅牢で安全な製品が実現するだけでなく、コラボレーションとイノベーションを促す環境も生まれます。

さらに、OpenJDKのGPLライセンスにより、誰でも自由に利用、配布、変更できます。これは、個人の開発者にも組織にも大きなメリットです。

OpenJDKは、Javaを扱うすべての開発者に欠かせないツールです。エンタープライズアプリケーションを開発する場合も、Javaを使い始めたばかりの場合も、Javaエコシステムの標準として、堅牢で安全なオープンソースプラットフォームを提供します。

Javaのインストール前に確認すること

macOSにJavaをインストールする前に、いくつかの確認を行うことが重要です。既存のインストールとの競合を避け、システムの互換性を確認し、何よりインストールが本当に必要かを確かめるために欠かせない手順です。このセクションでは、次の内容を解説します。

  • macOSにJavaがすでにインストールされているか確認する

  • インストールされている場合、Javaのバージョンを確認する

macOSにJavaがすでにインストールされているか確認する

まず、システムにJavaがすでにインストールされているか確認します。macOSにはJavaがデフォルトでインストールされていますが、用途に合ったバージョンとは限りません。

Javaがインストールされているか確認するには、ターミナルアプリケーションを開き(Spotlight検索で`Terminal`と入力できます)、次のコマンドを実行します。

java -version

Javaがインストールされている場合、次のような出力が表示されます。

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

「1.8.0_271」は、インストールされているJavaのバージョンを示します。

Javaがインストールされていない場合は、`java`コマンドが見つからないというメッセージが表示されます。

現在インストールされているJavaのバージョンを確認する

システムにJavaがインストールされている場合は、正確なバージョンを確認しましょう。アプリケーションによって必要なJavaのバージョンが異なることがあります。`java -version`コマンドでもインストール済みのバージョンを確認できます。

`java -version`コマンドの出力では、最初の行の「version」に続く部分にバージョン番号が表示されます。上の例では「1.8.0_271」がバージョン番号で、Java 8 Update 271を表しています。システムにインストールされているJavaのバージョンを把握すれば、新しいバージョンをインストールするか、現在のものを使うか判断できます。

Javaのインストールを成功させるには、事前確認が欠かせません。次のセクションでは、macOSにJavaを実際にインストールする手順を説明します。

Homebrewを使ってmacOSにOpenJDKをインストールする方法

1. 現在のJavaバージョンを確認する

インストールを始める前に、macOSにJavaがすでにインストールされているか確認しましょう。ターミナルアプリケーションを開き、次のコマンドを実行します。

java -version

Javaがすでにシステムにインストールされている場合、このコマンドで現在のバージョンが表示されます。インストールされていない場合は、ターミナルにJDKのインストールを促されます。

2. Homebrewを使ってOpenJDKをインストールする

Homebrewは、macOSへのソフトウェアのインストールを簡単にする、無料のオープンソースパッケージ管理システムです。「macOSに足りなかったパッケージマネージャー」とも呼ばれています。シンプルに使えるため、macOSでソフトウェアパッケージを管理する際に開発者から広く選ばれています。

次に、OpenJDKをダウンロードします。OpenJDKのWebサイトから直接ダウンロードするか、Homebrewなどのパッケージマネージャーを使えます。Homebrewがインストールされていない場合は、次のコマンドでインストールできます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

HomebrewでOpenJDKをインストールするには、ターミナルで次のコマンドを実行します。

brew install openjdk@11

「11」は、インストールしたいOpenJDKのバージョン番号に置き換えてください。

この記事の執筆時点で、HomebrewからインストールできるOpenJDKのJavaリリースは次のとおりです。

  • openjdk@8

  • openjdk@9

  • openjdk@11

  • openjdk@17

3. パス環境変数にJavaを設定する

インストールされたJavaのバージョンを示すメッセージが表示されます。表示されたバージョンは、インストールしたものと一致するはずです。ただし、代わりに次のようなメッセージが表示される場合があります。

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

Javaのバージョンに関する情報メッセージが表示されない場合は、次のようにJavaのホームディレクトリをパスに追加する必要があります。

echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc

その後、Javaが正常にインストールされていれば、私の開発環境にインストールされているJava 17の場合、次のように表示されます。

java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Homebrew (build 17.0.9+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.9+0, mixed mode, sharing)

4. インストールを確認する

最後に、Javaのバージョンを再確認し、OpenJDKが正しくインストールされたことを確認します。

java -version

OpenJDKが正しくインストールされていれば、このコマンドでインストールしたOpenJDKのバージョンが表示されます。

これで完了です。macOSへのOpenJDKのインストールに成功しました。MacでJavaアプリケーションを簡単に実行・開発できるようになります。

5. SnykでJavaアプリケーションを保護する

ソフトウェア開発において、セキュリティは欠かせない要素となっています。あらゆるところに潜むサイバー脅威からJavaアプリケーションを守ることが重要です。開発者を第一に考えたオープンソースセキュリティのリーディングプラットフォーム、Snykを活用してセキュリティを確保する方法をご紹介します。

Snyk Open Sourceは、オープンソースの依存関係にある脆弱性を事前に検出して修正するのに役立ちます。作業を妨げずに開発フローへ自然に組み込めるよう設計されているため、Java開発に取り入れるのに最適なツールです。

Snyk Open Sourceを使えば、Javaの依存関係にあるセキュリティ脆弱性を簡単に検出し、優先順位を付けて修正できます。プロジェクトをテストするには、次のコマンドを実行します。

snyk test

Snyk Open SourceでJavaアプリケーションを保護する

macOSにOpenJDKを手動でインストールする方法(AdoptOpenJDKを使用)

このセクションでは、macOSにOpenJDKを手動でダウンロードしてインストールする方法を説明します。Homebrewなどのパッケージマネージャーを使えば手順を自動化できますが、手動インストールならJDKのバージョンや設定をより細かく管理できます。

OpenJDKをダウンロードする

OpenJDKのバイナリは、公式AdoptOpenJDK Webサイトからダウンロードできます。ホームページでは、希望するOpenJDKのバージョンとオペレーティングシステムを選択できます。このチュートリアルでは、希望するOpenJDKのバージョン(例:OpenJDK 11)を選び、オペレーティングシステムとしてmacOSを選択します。選択したら、`Latest release`ボタンをクリックしてJDKをダウンロードします。

OpenJDKをインストールする

ダウンロードが完了すると、インストーラーファイル(.pkg)がダウンロードフォルダに保存されます。.pkgファイルをダブルクリックしてインストールを開始し、インストーラーの指示に従ってOpenJDKをインストールします。

JAVA_HOME環境変数を設定する

次に、macOSで`JAVA_HOME`環境変数を設定します。この変数はJDKのインストール先ディレクトリを示し、Javaアプリケーションの実行や開発に必要です。

ターミナルを開き、`.bash_profile`または`.zshrc`ファイルに次の行を追加します。

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH

上記のコードでは、`$(/usr/libexec/java_home)`によって現在のJDKのインストールパスが動的に取得されます。ファイルを保存して終了します。

変更を反映するには、ターミナルを再起動するか、次のコマンドを実行します。

source ~/.bash_profile
# or
source ~/.zshrc

インストールを確認する

インストールと環境変数の設定を確認するには、ターミナルでインストール済みのJDKのバージョンを表示します。次のコマンドを実行してください。

java -version

インストール済みのJavaバージョンに関する情報が、次のように表示されます。

openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.2+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.2+9, mixed mode)

出力にインストールしたOpenJDKのバージョンが表示されれば、完了です。macOSへのOpenJDKの手動インストールと、JAVA_HOME環境変数の設定が正しく行われました。

複数のJavaバージョンを切り替える

macOSに複数のバージョンのJavaをインストールしている場合、プロジェクトの要件に応じて切り替える必要があるかもしれません。

HomebrewでJavaのバージョンを切り替える

Javaのバージョンを切り替えるには、Homebrewで`jenv`というコマンドを使います。`jenv`がインストールされていない場合は、次のコマンドでインストールできます。

brew install jenv

`jenv`をインストールしたら、インストール済みのJavaバージョンを`jenv`に追加します。バージョンごとに、インストール先のディレクトリへ移動して次のコマンドを実行します。

jenv add /Library/Java/JavaVirtualMachines/<java-version>.jdk/Contents/Home/

`<java-version>`を追加するJavaのバージョンに置き換えてください。

切り替えたいJavaバージョンを追加したら、次のコマンドで一覧を表示できます。

jenv versions

特定のJavaバージョンに切り替えるには、`jenv global`コマンドの後にバージョン番号を指定します。

jenv global <java-version>

ここでも、`<java-version>`を切り替え先のJavaバージョンに置き換えてください。

アプリケーションとの互換性を確保し、最適なパフォーマンスを得るために、適切なJavaバージョンを使うことが重要です。

Snyk ContainerでJavaコンテナを保護する

KubernetesなどのコンテナワークロードやPaaS環境では、本番環境で複数のJavaバージョンを運用している場合があります。Snyk Containerは、コンテナイメージやKubernetesアプリケーションの脆弱性を検出し、修正するための開発者ファーストのソリューションです。Javaアプリケーションをコンテナでデプロイするなら、Snyk Containerは必須のツールです。

Dockerイメージの脆弱性をテストするには、次の` snyk container test`コマンドを使用できます:

snyk container test <image-name>

このコマンドはDockerイメージをスキャンして既知の脆弱性を検出し、包括的なレポートを作成します。

Snyk ContainerでJavaコンテナを保護する

Mavenとは?

Mavenは、ビルドやレポート作成、ドキュメント管理に使用される強力なプロジェクト管理ツールです。包括的なツールであるMavenは、プロジェクトのビルドプロセスを簡素化し、標準化します。コンパイル、配布、ドキュメント作成、チームでの共同作業など、さまざまなタスクをシームレスに処理します。Mavenは再利用性を高め、ビルド関連のタスクの大半を担います。

BrewでMavenをインストールする方法

HomebrewはmacOS向けのパッケージマネージャーで、AppleのmacOSへのソフトウェアのインストールを簡単にします。BrewでMavenをインストールするには、マシンにHomebrewがインストールされている必要があります。次の手順に従ってください。

1. Homebrewがインストールされているか確認する:ターミナルを開き、次のコマンドを入力します:

brew -v

Homebrewがインストールされていれば、バージョンが表示されます。インストールされていない場合は、まずHomebrewをインストールしてください。

2. Homebrewをインストールする:Homebrewがインストールされていない場合は、ターミナルで次のコマンドを実行してインストールできます:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3. Mavenをインストールする:Homebrewのインストールが完了したら、次のコマンドを実行してMavenをインストールできます:

brew install maven

4. Mavenのバージョンを確認する:インストールが完了したら、Mavenのバージョンを確認してインストールを検証できます:

mvn -v

このコマンドを実行すると、インストールされたMavenのバージョンが次のような形式で表示されます:

Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /opt/homebrew/Cellar/maven/3.9.5/libexec
Java version: 21.0.1, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk/21.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_IL, platform encoding: UTF-8
OS name: "mac os x", version: "14.1", arch: "aarch64", family: "mac"

ApacheのソースからMavenをインストールする方法

Homebrewを使いたくない場合や、Homebrewで問題が発生した場合は、ApacheのソースからMavenを直接インストールすることもできます。手順は次のとおりです。

1. Mavenをダウンロードする:Apacheのウェブサイトから最新リリースのMavenをダウンロードします。バイナリのtar.gzファイルを選択してください。

2. ファイルを展開する:tar.gzファイルをダウンロードしたら、任意のディレクトリに展開します。次のコマンドを使用して展開できます:

tar xzvf apache-maven-3.x.y-bin.tar.gz

3. 環境変数を設定する:作成されたディレクトリapache-maven-3.x.yのbinディレクトリを、PATH環境変数に追加します:

export PATH=/path/to/apache-maven-3.x.y/bin:$PATH

4. インストールを検証する:先ほどと同じバージョン確認コマンドを実行し、Mavenが正しくインストールされていることを確認します:

mvn -v

このコマンドを実行すると、インストールされたMavenのバージョンが表示されます。

MavenはJava開発者にとって欠かせないツールであり、プロジェクトをビルド、管理するための標準化された方法を提供します。Homebrewを使う場合も、Apacheのソースから直接インストールする場合も、手順は簡単です。すぐに使い始めることができます。

参考資料

Java、特にmacOSでのプログラミングを進めるうえで役立つ参考資料をご紹介します。Java、OpenJDK、Homebrew Javaの公式ドキュメントへのリンクをはじめ、macOSでのJava開発に役立つその他のリソースも掲載しています。

OpenJDKのドキュメント

OpenJDKは、Java Platform, Standard Editionのオープンソース実装です。Oracle JDKの基盤であり、オープンソースソフトウェアを好む方に最適です。

OpenJDK公式ドキュメント: OpenJDKプロジェクトの公式ウェブサイトです。OpenJDKのドキュメントに加えて、メーリングリスト、プロジェクト、グループなどのリソースも掲載されています。

Homebrew Javaのドキュメント

Homebrewは、macOSへのソフトウェアのインストールを簡単にするパッケージマネージャーです。MacへのJavaのインストールにも使用できるため、Java開発者にとって欠かせないツールです。

Homebrew Javaのドキュメント: このページでは、Homebrewを使用してOpenJDKをインストールする手順を説明しています。Javaのインストールに必要なコマンドや、関連情報が掲載されています。

Snyk LearnのサイバーセキュリティレッスンでJavaアプリケーションのセキュリティを学ぶ

知識は力です。これはサイバーセキュリティにおいて、特に当てはまります。Snyk Learnは、開発者がアプリケーションを保護するために必要な知識を身につけられるプラットフォームです。幅広いサイバーセキュリティのレッスンを通じて、Javaアプリケーションを基礎から保護する方法を学べます。

Snyk LearnのサイバーセキュリティレッスンでJavaアプリケーションのセキュリティを学ぶ

つまり、Javaアプリケーションの保護は、既知の脆弱性を修正するだけではありません。学び続け、最新のセキュリティのベストプラクティスを把握することも大切です。Snykのツールとリソースを活用すれば、自信を持って安全なJavaアプリケーションを構築し、デプロイできます。

続きを読む

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSecのご紹介:AI開発のスピードに対応するセキュリティ

AI駆動型開発のスピードに、従来のセキュリティワークフローは追いついていません。SnykのAgentic AppSecは、セキュリティエージェントが脆弱性を継続的に検出、修正、検証し、人が基準を定められるようにします。

blog feature ai violet
Blog

VulnBump:AIエージェントはビルドを壊さずに脆弱な依存関係を修正できるか?

VulnBumpは、実際の依存関係アップグレード307件を対象にAIエージェントをテストします。脆弱性が解消され、ビルドとテストが成功した場合にのみ、修正としてカウントされます。

Blog

フロンティアモデルは脆弱性を発見した。攻撃者だけがエクスプロイトチェーンを見つけた。

静的解析で欠陥は見つかりましたが、ライブ攻撃テストで侵害につながる連鎖を実証できたのは唯一でした。Evo COS、Claude Security、Claude Code Securityを比較します。