更新日 2023/09/24


Javaの実行環境の作り方

目次

1. 実行環境を作る
2. Hello Worldしてみる
3. 講義回毎にまとめてJavaコードを整理しましょう
4. トラブルシューティング

必要なもの

実行環境を作る

1. JDKのインストール

Javaのソースコードをコンパイルしたり、実行したりするのに必要な「Oracle JDK(Java Development Kit)」をインストールしましょう。

このページからダウンロードします。本Webページ作成時点での長期サポート(LTS)の最新版は「Oracle Java 21」です.下記では,「JDK 17.0.6」のバージョンで手順を説明しております.インストール時期により,JDKのマイナーバージョンは異なることがありますので,その際は読み替えてください.

Java 17をクリックしてタブを切り替えます.

x64 Compressed Archiveのzipファイルをダウンロードし、デスクトップなどに保存します.

保存したzipファイルを確認しましょう.

保存したzipファイルを解凍します.解凍したら次のようなファイル名でフォルダが作成され,中にファイルが保存されます.

作成されたフォルダの中身を確認しましょう.フォルダ「jdk-17.0.6」のなかにコンパイルやインタプリタなどのファイルが入っています.

フォルダ「jdk-17.0.6」をまとめて,Cドライブの「C:\Program Files\Java」内へコピーします.コピー先フォルダ内にある似たような名前のサブフォルダは消さないようにしましょう.コピー時に管理者権限を求められる場合はありますのでその際は許可をしましょう.

ここで、コピー先フォルダ内のbinフォルダ「C:\Program Files\Java\jdk-17.0.6\bin」(※A)は次の準備で使いますのでメモしておきましょう.

これでJDKのインストールは完了です.

2. JDKのbinフォルダにPATHを通す

JDKのbinフォルダには,Javaコードをコンパイルするコマンドや,Javaコードを実行するコマンドなどが入っています.しかし,このままではこのフォルダに行かないと,これらのコマンドを使用することができません.そこで,自分がどのフォルダに居てもこれらのコマンドを使用できるようにします.(この作業を「PATHを通す」と言います)

まず,「スタートボタン」を右クリックして,ダイアログを開きます.次に,「システム」を選択し表示させて下さい.

「バージョン情報」が表示されます.続いて,「システムの詳細設定」をクリックします.

「詳細設定」タブの,「環境変数」ボタンをクリックします.

「システム環境変数」の中の,「Path」をダブルクリックして下さい.Pathを編集するダイアログが表示されます.

「新規」ボタンを押して,一番最後に先ほどコピーしたJDKのbinフォルダの場所(※A)を付け加えて下さい.

※もともとある文字列を消してしまわないよう,よくよく注意してください.

追記が終わったら,「OK」ボタンを押して下さい.これで,PATHの設定は終了です.

3. Visual Studio Codeのインストール

プログラミングの開発環境をインストールしましょう.

まず,このページへアクセスし,「Visual Studio Code をダウンロードする」をクリックします.ここでは本Webページ作成時点での最新版「Visual Studio Code 1.77.0」の場合で説明します.別のバージョンの場合は読み替えてインストールを進めてください.

「Windows版」の「System Installer x64」をクリックし,ファイルをダウンロードしデスクトップなどに保存します.

保存したファイルを確認しましょう.

保存したファイルをダブルクリックして実行すると,インストールが始まります.セットアップ画面の「同意する」にチェックをして,「次へ」ボタンを押します.

次に,「インストール先の指定」を行います.デフォルトのままで良いです.「次へ」ボタンを押します.

※変更したい場合は「参照」ボタンを押してインストール先のフォルダを指定できます.

次に,「スタートメニューフォルダの指定」を行います.スタートメニューフォルダとは,Windowsのスタートメニューに配置されるショートカットのフォルダ名のことです.デフォルトのままで良いです.「次へ」ボタンを押します.

※変更したい場合は「参照」ボタンを押してスタートメニューフォルダ名を変更できます.

Visual Studo Codeのインストール後に行う「追加タスクの選択」を行います.「デスクトップ上にアイコンを作成する」と「PATHへの追加(再起動後に使用可能)」にチェックを入れ,「次へ」ボタンを押します.この他は好みで選択をしましょう.

内容を確認し,「インストール」ボタンを押します.インストールが始まりますので完了するまで少々待ちましょう.

インストールと追加のタスクが完了すると,次の画面が表示されます.「Visual Stduio Codeを実行する」のチェックを外し,「完了」ボタンを押します.

デスクトップに作成されたVisual Stduio Codeのショートカットアイコンを確認しましょう.

4. Visual Studio Code へ拡張機能をインストール

Javaプログラミングのための拡張機能(エクステンション)をVisual Studio Codeにインストールしましょう.ここでは,次のエクステンションをインストールします.

IntelliCode エクステンション
Print エクステンション

Visual Studio Code のショートカットをダブルクリックして起動します.

左の端にある「Extensions」ボタンをクリックし,「EXTENSIONS」サイドバーを開きます.続いて,上部の検索ボックスに「intelliCode」と入力し,一覧より「Visual Studio IntelliCode」エクステンションを確認して選択します.右の欄に詳細が表示されます.「Install」をクリックしてエクステンションをインストールします.

「EXTENSIONS」サイドバーの右上のフィルターアイコンをクリックし,プルダウンメニューより「Enabled」を選択すると,有効になっているエクステンションを確認できます.「EXTENSIONS」サイドバーに「IntelliCode」エクステンションと「IntelliCode API Usage Examples」エクステンションが確認できます.

続いて,同様の手順で「Print」エクステンションをインストールしましょう.このエクステンションはソースコードの印刷を行う機能です.下図は,「Print」エクステンションをインストール後に,有効になっているエクステンションを表示しています.
※Visual Studio Code に印刷機能はありませんのでエクステンションをインストールする必要があります.

最後に,左の端にある「Extensions」ボタンを再度クリックし,「EXTENSIONS」サイドバーを閉じましょう.また,タブも「×」をクリックして閉じておきましょう.

これで Visual Studio Code へ拡張機能をインストールはおわりです.ここで紹介したエクステンション以外にもプログラミングを便利にするものが多々ありますので,興味ある方は試してみましょう.ただし,機能が競合する場合がありますので,まずは上記2つのみをインストールしてください.

おまけ Visual Studio Code を日本語化するには,「Japanese Language Pack for Visual Studio Code」エクステンションをインストールし,指示にしたがって設定を行います.

5. 読み込み・書き込みファイルの文字コードをUTF-8に設定

ソースコードの読み込み時かつ書き込み時の文字コードをUTF-8に設定します.

「File」メニューから「Preferences」を選択し,さらに「Settings」を選択します.

表示される「Settings」タブの検索ボックスに「encoding」と入力します.関連する設定事項が表示されます.「Files: Encoding」があることを確認しましょう.

「Files: Encoding」下のプルダウンメニューから「UTF-8」を選択します。既に「UTF-8」に設定されていることもあります.

「Settings」タブを閉じます.

Hello Worldしてみる

実行環境の準備が完了したら、正常に動作するか確認しましょう。

1. Javaコードを保存する作業フォルダ

ここでは「D:\home\Programming」に「Java」フォルダを新規に作成し,この「D:\home\Programming\Java」フォルダの中にJavaコードを保存することを想定します.このフォルダを作業フォルダといいます.各自のパソコン環境に応じて読み替えましょう.

2. 作業フォルダ「Java」のオープン

「Java」フォルダを作業フォルダとしてオープンすることにより,Visual Studio Code から「Java」フォルダ内のファイルを管理できるようになります.「File」メニューより「Open Folder...」を選択します.

先ほど作成した「Java」フォルダを選択して「フォルダーの選択」をクリックします.

「EXPLORER」サイドバーが表示されます.中に「JAVA」(すべて大文字)として作業フォルダが表示されていることを確認しましょう.「JAVA」フォルダのサブフォルダとして「.vscode」が自動生成されることがありますがそのままで構いません.この「.vscode」フォルダにはVisual Studio Codeの各種設定ファイルが保存されます.「EXPLORER」サイドバーは左の欄の「Explorer」ボタンを押すことにより,表示/非表示を切り替えることが出来ます.「Welcome」タブは×ボタンを押して,消しておきましょう.

3. コンパイル&実行スクリプト,文字コードUTF-8設定を作業フォルダ「Java」に格納

コンパイル&実行スクリプト,文字コード設定を用いることで,作業フォルダ「Java」内のJavaコードの文字コードを指定したもの(ここではUTF-8です)に設定し,Javaコードのコンパイルと実行を簡単に行えます.作業フォルダ「JAVA」をクリックして展開します.中に「.vscode」サブフォルダが無い場合は※1,2を行います.ある場合は次へ進みます.

※1 展開空白部を1度クリックしてフォーカス(青枠)を移動し,右上の「New Folder」アイコンをクリックします.

※2 表示されたテキストフィールドに「.vscode」と入力します。

次のリンクを右クリックして「対象をファイルに保存」等を選び,デスクトップ等に保存します.

・ダウンロード → tasks.json

・ダウンロード → settings.json

このファイル「tasks.json」「settings.json」を先ほど作成した「.vscode」サブフォルダにドラッグ&ドロップします.

作業フォルダ「JAVA」の中のサブフォルダ「.vscode」の中に「tasks.json」「settings.json」があることを確認してください.ファイルの内容は例年の更新のため異なることがあります.また,tasks.jsonの他にsettings.jsonが自動生成されていることがありますが上書きしてください.

4. ソースコードを書く

Javaコードを保存するサブフォルダを作成します.ここでは第0回目の講義という意味で「00」サブフォルダとします.

作業フォルダ「JAVA」を展開し,展開空白部を一度クリックしてフォーカス(青枠)を移動した後,右上の「New Folder」アイコンをクリックします.

表示されるテキストフィールドに「00」と入力します.その後,作業フォルダ「JAVA」の中にサブフォルダ「.vscode」と「00」があることを確認しましょう.「.vscode」と「00」は兄弟フォルダであることに注意しましょう.

フォルダ「00」を一度クリックしてフォーカスを移動し,右上の「New File」アイコンをクリックします.

フォルダ「00」の中に表示されるテキストフィールドに「HelloWorld.java」と入力します.ここで,ファイル名「〇〇〇.java」の「.java」の部分を拡張子と呼び,ファイルの種類を特定するために使われます.「.java」はこのファイルがJavaコードであることを示します.間違えないようにしましょう.

ファイル「HelloWorld.java」を選択すると,右へ「HelloWorld.java」タブのもとにテキストエリアが表示されます.このテキストエリアに下枠のJavaコードを入力します.

public class HelloWorld
{
  public static void main(String[] args) {
    System.out.println("こんにちはJava!!");
  }
}

5. コンパイル&実行をする

ファイル「HelloWorld.java」を選択します.ショートカット「Shift + Ctrl + B」を同時に押すと,コンパイルが始まり,文法エラーが無ければ実行されます.下に「Terminal」パネルが開き,実行結果が表示されます.「こんにちはJava!!」と表示されていれば成功です!もし文法ミスがあればエラーメッセージが表示されますので,再度コードを確認しましょう.

ショートカット「Shift + Ctrl + B」の代わりに「Terminal」メニューの「Run Build Task...」を選択しても良いです.また「Terminal」パネルは「View」メニューの「Terminal」を選択することにより表示/非表示を切り替えることができます.

講義回毎にまとめてJavaコードを整理しましょう

上の設定をふまえて,各講義でのJavaコードの整理について説明します.

講義が始まりましたら Visual Studio Code を起動します.

次に,Javaコードを保存している作業フォルダ「Java」をオープンします.

オープンされた作業フォルダ「JAVA」が表示されているのことを確認しましょう.また,先ほど作成した「HelloWorld.java」ファイルがサブフォルダ「00」に入っていることが確認できます.

作業フォルダ「JAVA」を展開し,展開空白部を一度クリックしてフォーカス(青枠)を移動した後,右上の「New Folder」アイコンをクリックします.

表示されるテキストフィールドに「01」(例えば,第1回目の講義のJavaコードを保存する場合)と入力します.その後,プルダウンメニュー「JAVA」の中にサブフォルダ「01」があることを確認しましょう.

フォルダ「01」を一度クリックしてフォーカスを移動し,右上の「New File」アイコンをクリックします.

フォルダ「01」の中に表示されるテキストフィールドに「Sample.java」と入力します.

ファイル「Sample.java」を選択すると,右へ「Sample.java」タブのもとにテキストエリアが表示されます.このテキストエリアにJavaコードを入力します.ここでは,例として下枠のJavaコードを入力しています.

public class Sample
{
  public static void main(String[] args)
  {
    System.out.println("ようこそJavaへ!!");
  }
}
ファイル「Sample.java」を選択します.ショートカット「Shift + Ctrl + B」を同時に押すと,コンパイル&実行されます.

トラブルシューティング

上記手順にて受けたQ&Aを載せていきます.

症状:実行時に次のようなエラーがでます.何が原因で,どのような対応が必要でしょうか?
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent
 version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class
 file versions up to 52.0    
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.
原因と対応:このエラーは,コンパイラ「javacコマンド」のバージョンとインタプリタ「javaコマンド」のバージョンが異なることにより発生しています.具体的には,新しいコンパイラで作成したJava実行コードをより古いインタプリタで実行しようとしたときに発生します.本ページでは,インストール手順作成時の最新版のJDKを例にしております.このJDKのbinフォルダの中に最新版のコンパイラとインタプリタが格納されていますので,これらを使うようにすれば解決します.PATH設定のステップにおいてJDKのbinフォルダを一番下に追加しましたが,一番上に移動してみましょう.PATHは上のフォルダから下のフォルダに向かってコマンドを検索していきますので,JDKのbinフォルダを一番上に移動することにより,ここでインストールしたコンパイラとインタプリタが使われることになります.
症状:コンパイル時に次のようなエラーがでます.何が原因で,どのような対応が必要でしょうか?
javac : 用語 'javac'は、コマンドレット、関数、スクリプト ファイル、または操作可能な
プログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが
含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ javac d:\home\Programming\Java\00\HelloWorld.java
+ 
…

ターミナルの処理が終了しました (終了コード: 1)
原因と対応:このエラーは,パスの設定が正常に行われていないときに発生します.再度,パスの設定を確認してください.なお,パスの設定が正常にされていれば,下記の各コマンドをコマンドプロンプトで実行したときに,そのコマンドの場所が表示されます.

where javac ※コマンドjavacの場所を表示
where java ※コマンドjavaの場所を表示

Power Shellでは次のように実行するとそのコマンドの場所が表示されます.

get-command java | format-wide -property source ※コマンドjavacの場所を表示
get-command javac | format-wide -property source ※コマンドjavaの場所を表示

その他、何かわからないことがあれば石原(m-ishihara@fit.ac.jp)まで質問して下さい。

以上で終了です!お疲れ様でした!!