rubytomato's “Getting Started”

Webアプリケーション開発の入門的な記事を投稿していきます。

『入門向け』Java開発環境の構築とかんたんなコードの書き方と実行方法 (前編)

はじめに

この記事は、Javaを勉強するための開発環境を構築したい、その開発環境を使ってソースコードを書いて実行する方法を知りたい、といったひと向けの入門記事になります。 前編のこの記事では、Windows 10とJava 11を使った開発環境の構築の手順、Javaプログラムの基本的な書き方と実行方法を説明します。 中編と後編は、Javaプログラムのもう少し踏み込んだコードの書き方について説明します。

開発環境の構築

Javaの開発ツールにはPleiades All in One Eclipseというパッケージを利用します。このパッケージはEclipseをベースにしていてメニューやメッセージが日本語化されている他に、JavaTomcatなどが同梱されているので、このパッケージだけで開発環境を構築できます。

mergedoc.osdn.jp

Pleiades All in One Eclipseのダウンロード

Eclipse 日本語化 | MergeDoc Project にアクセスし、以下の手順でダウンロードします。

最新バージョンを利用したいので、Fig1の赤い枠線で囲った"Eclipse 2020"(2020年3月現在の最新)というボタンをクリックします。

f:id:rubytomato:20200328233051p:plain
Fig1.

Windowsであれば、Fig2の赤い枠線で囲ったWindows 64bit版のFull Editionをダウンロードするボタンをクリックします。

f:id:rubytomato:20200328233110p:plain
Fig2.

pleiades-2020-03-java-win-64bit-jre_20200322.zipという名前(2020年3月現在)のzipファイルのダウンロードが始まります。

Pleiades All in One Eclipseのインストール

ダウンロードしたzipファイルを7-Zipなどのツールで展開します。まだこのツールをインストールしていなければ先にインストールしてください。 zipファイルを展開するとpleiadesというフォルダができるので、これを適当な場所へコピーします。 この記事では以下の場所へコピーしました。インストールはこれで完了です。

C:\dev\pleiades

このフォルダをWindowsエクスプローラで開くと、Fig3のようになっていると思います。

f:id:rubytomato:20200325221812p:plain
Fig3.

この中からさらにeclipseというフォルダを開きます。Fig4のようなフォルダやファイルがあると思いますが、この中のeclipse.exeWindowsの設定によってはeclipseとだけ表示されているかもしれません)を右クリックし、メニューから送るデスクトップ(ショートカットを作成) を選択します。

f:id:rubytomato:20200328233151p:plain
Fig4.

すると、デスクトップにeclipseのフォートカットが出来ていると思います。ショートカットファイルの名前に"ショートカット"と付いていると思いますが、名前は変更できるので任意の名前に変更してください。 このショートカットをダブルクリックするとEclipseが起動します。

ワークスペースの選択

Eclipseを起動するとワークスペースの場所を指定するEclipse IDEランチャー(Fig5)が表示されます。ワークスペースソースコードを管理するフォルダで、基本的には画面の通りの場所で構いませんが、任意のフォルダを指定することもできます。任意のフォルダを指定したい場合は"参照(B)..."ボタンをクリックしてフォルダを選択します。

f:id:rubytomato:20200325221954p:plain
Fig5.
Fig5の通り../workspaceで起動ボタンを押すと、このワークスペースは以下の場所に作成されます。

C:\dev\pleiades\workspace

起動直後の画面

Fig6が起動直後の画面です。この画面の見方を簡単に説明します。 一番上がメニューバーで、その下のアイコンが並ぶバーをツールバーと呼びます。ツールバーによく使われる操作がアイコンで表示されています。 一番下がステータスバーです。ここにはEclipseが使用しているメモリ量やファイルの文字コードなどが表示されています。 一番面積の大きい中央右がエディター・ビューです。ここでファイル(ソースファイルやプロパティファイルなど)を編集します。 その他のビューは役割毎の内容が表示されます。例えば左端の"パッケージ・エクスプローラー"ビューはプロジェクトの構造を表示し、下の"問題"ビューはコンパイルエラーなどの情報を表示します。

f:id:rubytomato:20200329023314p:plain
Fig6.

レイアウトのカスタマイズ

ビューの位置を変更してレイアウトをカスタマイズすることができるので、その方法を簡単に説明します。(※レイアウトはこのままがいいという方は読み飛ばしてください。) ビューの移動は、移動させたいビューのタイトルバーをドラッグ(マウスの左ボタンを押しながら)して移動させたい場所でドロップ(マウスの左ボタンを離す)します。

まず、画面左下の”問題”というビューを画面右下へ移動させてみます。タイトルバーをドラッグしてFig7の黄色い枠線で囲ったあたりへドロップします。

f:id:rubytomato:20200328002838p:plain
Fig7.

Fig8がドロップ後の画面です。

f:id:rubytomato:20200328002435p:plain
Fig8.

次に"ランナー"や"アウトライン"があるビューを画面右端へ移動させてみます。タイトルバーをドラッグしてFig9の黄色い枠線で囲ったあたりへドロップします。

f:id:rubytomato:20200328002821p:plain
Fig9.

Fig10がドロップ後の画面です。

f:id:rubytomato:20200328002155p:plain
Fig10.

あとは各ビューの表示幅を調整します。ビューとビューの間の境界にマウスカーソルをあわせるとポインターが矢印マークになるので、その状態でマウスの左ボタンを押しながら左右、または上下に移動させるとビューの幅が変わります。

最終的にFig11のようなレイアウトに変えました。エディター・ビューは一番見ている時間が長いので中央に大きく表示するようにしました。

f:id:rubytomato:20200328002141p:plain
Fig11.

次によく使うビューをレイアウトに追加します。メニューバーのウィンドウ(W)ビューの表示(V)コンソールを選択します。すると画面下のビューにコンソールが追加されます。

f:id:rubytomato:20200328002124p:plain
Fig12.

以上がレイアウトのカスタマイズ方法です。どのようなレイアウトにするかは個人の好みなので自由に変えても問題ありませんが、パッケージ・エクスプローラーエディタービューは最低限残しておいてください。

使えるJavaのバージョンを確認

何種類かのJavaが利用できるようになっています。どのバージョンのJavaが用意されているかを確認するには、Eclipseのメニューバーのウィンドウ(W)設定(P) をクリックします。

設定画面が表示されるので、左側のメニューのJavaインストール済みのJREをクリックします。Fig13の通りJava6、Java7、Java8、Java11、Java14が利用でき、デフォルトはJava11になっています。この設定はとくに変える必要はないのでこのままにしておきます。

f:id:rubytomato:20200325222048p:plain
Fig13.

使えるTomcatのバージョンを確認

この記事ではTomcatは利用しませんが、Javaで開発したWebアプリケーションを実行するTomcatというアプリケーションサーバーも同梱されています。 確認するには、Eclipseのメニューバーのウィンドウ(W)設定(P)をクリックします。

設定画面が表示されるので、左側のメニューのサーバーランタイム環境をクリックします。Fig14の通りTomat 6、Tomcat 7、Tomcat 8、Tomcat 9が利用できます。

f:id:rubytomato:20200325222116p:plain
Fig14.

Javaプログラムの書き方

ここからはJavaプログラムの書き方の説明になります。まず最初に行うのはJavaプロジェクトの作成です。

Java プロジェクトの作成

プロジェクトが1つも作成されていない状態ではパッケージ・エクスプローラーのメニューからJava プロジェクトの作成を選択するか、またはメニューバーのファイル(F)新規(N)Java プロジェクト を選択します。 Fig15の新規 Java プロジェクトが開きますので、"プロジェクト名(P):"にstudy01projectと入力し、"完了"ボタンをクリックします。

f:id:rubytomato:20200328220056p:plain
Fig15.

Fig16の新規 module-info.javaが開くので、"作成"ボタンをクリックします。

f:id:rubytomato:20200328220112p:plain
Fig16.

Fig17がプロジェクトが作成された状態です。中央のエディタにmodule-info.javaが表示されていますが、いまは編集しないのでタブの×アイコンをクリックして閉じます。

f:id:rubytomato:20200328220155p:plain
Fig17.

パッケージの作成

Javaプロジェクトを作成したら、次はパッケージを作成します。 Fig18のsrcを右クリックしメニューの新規(W)パッケージを選択します。

f:id:rubytomato:20200328220305p:plain
Fig18.

Fig19の"名前(M):"にcom.exampleと入力し、"完了"ボタンをクリックします。

f:id:rubytomato:20200328220321p:plain
Fig19.

Fig20がパッケージが作成された状態です。srcフォルダの下に作成したパッケージが表示されていることがわかります。

f:id:rubytomato:20200328220333p:plain
Fig20.

レッスン1

レッスン1では次のことを行います。

※レッスン1は中編の記事へ続きます。

レッスン1用のパッケージを作る

レッスン1用のパッケージを作成します。Fig21のcom.exampleパッケージを右クリックし、新規(W)パッケージを選択します。

f:id:rubytomato:20200328220350p:plain
Fig21.

Fig22の"名前(M):"にcom.exampleと入力されているところに.lesson01を追加して、"完了"ボタンをクリックします。

f:id:rubytomato:20200328220409p:plain
Fig22.

Fig23がパッケージが作成された状態です。

f:id:rubytomato:20200328220434p:plain
Fig23.

Demoクラスを作る

レッスン1でこれから作るクラスを動かすための実行クラスを作成します。クラス名はDemo(Demonstration / デモンストレーション / 実演)という名前にします。(※クラス名は分かりやすければ何でもいいです。) com.example.lesson01パッケージを右クリックし、新規(W)クラスを選択します。

f:id:rubytomato:20200329021450p:plain
Fig24.

"名前(M):"にDemoと入力し、"どのメソッド・スタブを作成しますか?"には、public static void main(String[] args)(V)にチェックを入れ、"完了"ボタンをクリックします。

f:id:rubytomato:20200329021504p:plain
Fig25.

クラスが作成されると、中央のエディタビューにDemo.javaというソースファイルが表示されます。 ソースファイルにはmainという名前のメソッドがすでに作成されていますが、このmainメソッドはJavaプログラムを実行するために必要なメソッドです。

package com.example.lesson01;

public class Demo {

    public static void main(String[] args) {
        // TODO 自動生成されたメソッド・スタブ

    }

}
ソースコードの修正と保存

mainメソッドを以下のように修正します。

public static void main(String[] args) {
    System.out.println("Lession01 Demo start");
    System.out.println("Lession01 Demo end");
}

するとタブのファイル名の先頭にアスタリスク(*)が付いたと思います。このアスタリスクは編集中のファイルであることを示しています。

f:id:rubytomato:20200329033116p:plain
Fig26.
この状態でCtrl + Sを押すとファイルが保存されアスタリスクが消えます。

Eclipseではファイルの保存と同時にソースコードコンパイルが自動的に行われます。 もし、ソースコードに書き間違い (Syntax Error / シンタックスエラー / 構文エラー) があるとファイル名の先頭に赤い×アイコンが付きます。これはコンパイルエラーがおきたことを示しています。 たとえば、以下のようにSystemsystemに書き直して保存すると

public static void main(String[] args) {
    system.out.println("Lession01 Demo start");
    System.out.println("Lession01 Demo end");
}

Fig27のようにエラーがあるクラス、および当該の行に赤い×アイコンが付きます。

f:id:rubytomato:20200329013049p:plain
Fig27.

また、問題ビューにも現時点で起きているコンパイルエラーの内容が表示されます。

f:id:rubytomato:20200329013103p:plain
Fig28.

コンパイルエラーの起きているsystemSystemになおしてファイルを保存すると赤い×アイコンが消えます。

Demoクラスを実行する

試しにDemoクラスを実行してみたいと思います。EclipseからJavaプログラムを実行する方法にはいくつかあります。

1). メニューバー → 実行(R)実行(S)Java アプリケーション

f:id:rubytomato:20200328231516p:plain
Fig29.

2). ツールバー実行アイコンの右の▼ → 実行(R)Java アプリケーション

f:id:rubytomato:20200328231500p:plain
Fig30.

3). エディタ上で右クリックしメニューから実行(R)Java アプリケーション

f:id:rubytomato:20200328231446p:plain
Fig31.

上記の方法のいずれかで実行すると画面下のコンソールビューに、mainメソッドに書いたコードの実行結果が出力されます。

f:id:rubytomato:20200328231205p:plain
Fig32.

起動ヒストリと実行構成の管理

Demoクラスを一度でも実行すると実行構成というプログラム実行の設定と起動ヒストリが自動的に作成されます。そうすると以降はツールバー実行アイコンをクリックするだけでDemoクラスを実行することができます。

f:id:rubytomato:20200329001515p:plain
Fig33.

起動ヒストリとは、今までに実行したことのあるプログラムの一覧です。起動ヒストリは実行アイコンの右の▼をクリックすると確認できます。 Fig33で”実行アイコンをクリックするだけで実行できます”と書きましたが、正確には起動ヒストリの一番上にリストされているプログラムが実行されます。 Fig34の左側がヒストリ無しで、Demoの実行後は右側のようにDemoの起動ヒストリが作成されています。

f:id:rubytomato:20200328233459p:plain
Fig34.

実行構成とは、プログラムをどのような条件で実行するかなどの設定です。Demoの実行構成を確認するには、このメニューの"実行の構成(N)..."をクリックします。 Fig35の左側のメニューのJava アプリケーションの下にDemoというメニューが表示されていると思いますが、これがDemoクラスの実行構成です。 右側にはその実行構成の設定内容が表示されています。"メイン"タブに表示されているプロジェクト名とメイン・クラスの内容の通り、この実行構成で実行するプログラムはstudy01projectプロジェクトのDemoクラスだということがわかります。

f:id:rubytomato:20200329003041p:plain
Fig35.

ソースコードのフォーマット

Demoクラスのソースコードを以下のように修正して実行してみます。コンソールビューに実行結果が出力され、問題なく実行できたと思います。 このようにソースコードはインデント(段落)を付けても、付けなくても実行に支障がない場合がありますが、ソースコードの読みやすさを考えると基本的にインデントは付けるようにします。

package com.example.lesson01;

public class Demo {

public static void main(String[] args) {
System.out.println("Lession01 Demo start");
System.out.println("Lession01 Demo end");
}

}

この例ではたった数行のソースコードなのでタブキーを押して一行一行インデントを付けていくことも大して手間はかかりませんが、ソースコードが数百行に及ぶこともめずらしくありません。そのような場合に手動でインデントを付けると時間がかかるのでEclipseのコードフォーマット機能を利用します。 Ctrl + Shift + Fを押すと、ソースコードが自動的にフォーマットされて以下のようになったと思います。

package com.example.lesson01;

public class Demo {

    public static void main(String[] args) {
        System.out.println("Lession01 Demo start");
        System.out.println("Lession01 Demo end");
    }

}

ソースコードを書いているうちにフォーマットが崩れてきたとおもったら、自動フォーマットを行ってソースコードのフォーマットを整えるようにします。

保存アクションの設定

Eclipseの保存アクションの設定で、ファイル保存時にソースコードの自動フォーマットを行うことができます。この設定を行うと毎回Ctrl + Shift + Fを押して自動フォーマットを行わなくても済むので便利です。 設定はメニューバーのウィンドウ(W)設定(P) を選択し、設定画面の左側メニューのJavaエディター保存アクション を選択します。 右側の設定で"ソース・コードのフォーマット(S)"にチェックを入れ、"適用して閉じる"ボタンをクリックします。

f:id:rubytomato:20200329020939p:plain
Fig36.

この設定を有効にすると、以降はファイル保存時(Ctrl + S)に自動的にソースコードのフォーマットが行われ、ソースコードのインデントが常に保たれます。

以上で、前編は終了です。続く中編ではJavaコードの書き方をもう少し踏み込んで説明します。(現在記事作成中です)

rubytomato.hateblo.jp