Windows11でJavaのバージョン管理を楽にする 「Scoop」入門

この記事を書いたチーム:frontier

はじめに

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

WindowsJavaの実行環境を用意しようとすると、次のような壁にぶつかりがちです。
 ・Oracle JDK / OpenJDK / Temurin / Corretto など種類が多い
 ・exe / msi / zip など配布形式がバラバラ
 ・Javaを複数バージョン入れると JAVA_HOME と PATH の管理が大変
 ・「今どのJavaが使われているのか」が分からなくなる
特に Java 8 / 11 / 17 を案件ごとに切り替えたい場合、exe での手動インストールはかなり辛い作業になります。

この記事では、Windows11macOSHomebrewのようにパッケージを一括管理する方法としてScoopを使ったシンプルで実用的な構成を紹介します。

 

Scoopとは何か

Scoop は Windows向けのコマンドライン・パッケージマネージャです。
特徴は以下の通りです。
 ・管理対象はすべて ユーザーディレクトリ配下
 ・環境変数を汚しにくい
 ・管理・切り替え・アンインストールがコマンドだけで完結
 ・Java / Node.js / Git / Maven など開発系ツールと相性が良い
イメージとしては次のような構成になります。

 

なぜScoopJavaを管理するのか

exe直インストールの問題点
 ・C:\Program Files\Java\… に散らばる
 ・アンインストールしても環境変数が残る
 ・バージョン切り替えが手動
 ・どのJavaを使っているか分かりづらい

Scoopを使うメリット
 ・Javaの追加・削除・切り替えが コマンド1行
 ・JAVA_HOME を意識しなくてよい
 ・複数バージョン共存が前提
 ・チームメンバーにも説明しやすい


Scoop
のインストール(Windows11

前提
 ・Windows11
 ・PowerShell(管理者でなくてOK)

インストール手順
 以下をpowershellで実行

 インストールされたか確認:

 

Java用のbucketを追加する

Javaは標準bucketには含まれていないため、java bucketを追加します。

 

Javaをインストールする

ここではよく使われる Eclipse Temurinを例にします。

利用可能なJava一覧

Java 11 17 をインストール

確認:

 

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

Scoopでは reset コマンドで使用中のバージョンを切り替えます。

Java 11 に切り替える

Java 17 に切り替える

仕組みとしては、shims が参照先を切り替えています。

 

まとめ

Windows11でもJavaのバージョン管理はシンプルにできる
Scoopを使えばHomebrew感覚でJavaを扱える
exe直インストールから卒業すると環境トラブルが激減する
Java 8 / 11 / 17 を行き来する現場ほど効果が大きい

 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス