EclipseでJavaのプログラム書く時の基本操作
概要
EclipseでJavaのプログラム書く時のプロジェクトの作り方とか、基本的なことの説明。
Javaのプログラム自体については説明しない。
目次
1. ひとまず最低限のコンソールJavaアプリケーション作成手順
ひとまずシンプルなコンソールJavaアプリケーションを作るときの手順。
1.1. プロジェクト作成
プログラムを書く前に、なんにせよプロジェクトを先に作らないかん。
手順
-
メニューのファイル→
新規
→Javaプロジェクト
-
下記入力をしてから
完了
。- プロジェクト名:任意の名前をつけてくだせえ。
- 実行環境JREの使用:長期サポートされている8とか11とかを選択しておくと無難
-
mojule-info.javaを作るかと聞かれる。ここは作成しない。こまけぇこたぁいいんだよ!
-
Javaプロジェクトができました。
1.2. 新規クラスの作成
次に、実際のプログラムを記述していくクラスファイルを作成する。
手順
-
作成したプロジェクトを右クリックして
新規
→クラス
。
-
名前を付けて、
public static void main(String[] args)
にチェックを付けて完了
。
-
クラスファイル(の元になるJavaファイル)ができた。エディタ欄でそのファイルが開かれている。
1.3. 実行
ひとまずコンソールに文字を出すだけのプログラムを書いて実行してみる。
手順
-
Hello ワカチコ
と表示するプログラムを書く。
-
実行アイコンの右にある小さい▼→
実行
→Javaアプリケーション
。
-
コンソールのところに実行結果が表示される。
1.4. デバッグ
デバッグしまSHOW TIMEの手順。
手順
-
エディタの左余白部分でダブルクリックすると、そこをブレークポイントに設定することができる。どこかプログラムを止めたい行に設定しまSHOW TIME。
※もう一回ダブルクリックすると解除できる。
-
メニューの実行→
デバッグ
をクリックする(ツールバーのアイコンでも可)。
-
なんかこんな画面が出てくるので
切り替え
をクリックする。
※毎回この画面が出るのが嫌だったら、常にこの設定を使用する
にチェックを入れてから切り替え
をクリックしてね。
※英語は大体こんなことを言っている。お前がこの画面を見ているということは、私(デバッグパースペクティブ)はすでに安らかに眠っているということだろう。だが安心してほしい、私はお前にデバッグスタック・変数・ブレークポイントを表示するための力を授けよう。父さんはいつもお前を見守っている。
-
デバッグ用のパースペクティブに変わる。で、ブレークポイントを設定した行でプログラムが止まっている。
-
エディタの右にある変数ビューで、
その時点で有効な変数
が表示されている。今はint a = 5;
が実行される前だからa
の情報は表示されてない。
-
プログラムを1ステップ進ませてみましょう。メニューの実行→
ステップオーバー
をクリックする(ツールバーのアイコンでも可)。
※- ステップイン:次に実行する行がメソッドだったら、メソッドにインする。
- ステップオーバー:次に実行する行がメソッドだろうと、俺はメソッドに入らねえぞ!
-
なんということでしょう…ステップが進んで、変数aの値が変数ビューに表示されました…。
-
あとは再開か終了したら、ぺぺぺっとプログラムが終わってデバッグモードが終わる。
-
デバッグモード終わってもパースペクティブは自動で戻ってくれない。手動で戻そう。
※
ちなみにデバッグモード中にプログラム変更して保存すると、こいつ何言うてるん的なメッセージが出てくる。安心して再開
をしていい。
2. Webアプリケーション(サーブレット)の作成手順
Eclipseに組み込まれているTomcatでWebアプリケーションを動かす手順。
2.1. プロジェクトの作成
Webアプリケーション用のプロジェクト作成
詳細
-
パースペクティブを
Java EE
に変える。
-
ファイル
→新規
→動的Webプロジェクト
。
-
下記のように設定して
次へ
。- プロジェクト名:任意
- デフォルト・ロケーションを使用:チェック
- ターゲットランタイム:どのバージョンのTomcat・Javaを使用したいかによる。この例ではTomcat9(Java11)
- 動的Webモジュールバージョン:選んだターゲットランタイムによるが、選べる最新バージョンで良いと思う
- 構成:多分ターゲット・ランタイムと同じバージョンのTomcat・Javaの構成を選ぶ
-
何も変えないまま
次へ
。
-
何も変えないまま
完了
。
-
プロジェクト・エクスプローラー上にこんな感じで作られる。
2.2. サーブレットの作成
プロジェクトを作ったら次にサーブレットを作成する。
詳細
-
作ったプロジェクトを右クリックして
新規
→サーブレット
。
-
下記のように入力して
次へ
。- Javaパッケージ:パッケージを分けたい場合は何か入力する。入力しなくてもいい。
- クラス名:任意のクラス名
-
そのまま
次へ
。
-
そのまま
完了
。
※下記にチェックが入った状態のはず。
- public
- スーパークラスからのコンストラクター
- 継承された抽象メソッド
- doGet
- doPost
- プロジェクトの
Javaリソース
/src
/パッケージ
の下にjavaファイルが作られる。また、そのファイルがエディタ欄で開かれる。最初から書かれている内容はとりあえず気にしない。
2.3. Tomcatで動作確認
Eclipseに組み込まれているTomcatを起動し、Webアプリケーションを確認する。
詳細
-
エディタの下の欄の
サーバー
タブをクリックし、使用可能なサーバーがありません。このリンクをクリックして新規サーバーを作成してください
の部分をクリックする。
-
プロジェクト作成時に選択したTomcatのバージョンと、同じバージョンのTomcatを選ぶ。
次へ
。
-
Tomcatで動作させるWebアプリケーション(プロジェクト)を選ぶ。左の欄で対象をクリックし、
追加
をクリックする。すると右側の欄にその対象が移動する。移動させたら完了
。
-
Tomcatが構成され、選んだWebアプリケーションが乗っている。
-
Tomcatを起動する。構成されたTomcatを右クリックし、
開始
をクリック。
-
コンソールにいろいろログが出ている。
サーバーの起動
というログが出ていれば起動OK。
-
ブラウザで
http://localhost:8080/{Webアプリケーション名}/{サーブレット名}
と入力すればそのアプリケーションの動作を確認することができる。
今回のケースではhttp://localhost:8080/test_webapp/TestServlet
。
3. 小ネタ
3.1. System.out.printlnを書くのがめんどくさい
syso(厳密に言うとsysout)と入力してCtrl+space
で補完すると、なんということでしょう…System.out.printlnに補完してくれる。
これはテンプレートという機能で設定されている。テンプレートについてはこちら。
3.2. ショートカット
キー | 説明 |
---|---|
Ctrl+D | カーソルのある1行削除 |
Ctrl+/ | カーソルのある行をコメント化。 もう一回押すとコメント化解除。 |
Ctrl+Shift+F | ソースの整形 |
Shift+Alt+A | ブロック選択モード(矩形選択)と通常モードを切り替える。 単純にAlt押しながらドラッグアンドドロップでやらせておくれよ。 |
Ctrl+Alt+↑or↓ | カーソルのある行を、その上か下にコピーする。 |
Ctrl+Shift+R | プロジェクト内のJAVAリソースファイルを検索する(全種類のファイルではない?)。プロジェクトエクスプローラがごちゃごちゃしてきた時に。 |
3.3. プロジェクトエクスプローラーでパッケージを検索
3.2 ショートカットのところで説明したCtrl + Shift + R
でファイルについては検索ができる。
だけどプロジェクトエクスプローラーのパッケージはそれでは検索できない。
パッケージが増えると探すのがめんどくさいが、これはプロジェクトエクスプローラー内で文字を入力すればそのパッケージにジャンプする。
Windowsの普通のエクスプローラーでも文字打つとそのフォルダとかファイルにジャンプするのと同じ。
3.4. Getter/Setterの自動生成
今どきは、そもそもGetter/Setterを生成する必要すらないプラグイン(lombok)があるけど、ひとまずEclipse単体で自動生成する方法を書いておく。
手順
-
こんなクラスを作ったとする。
-
エディタ欄を右クリックして、
ソース
→getterおよびsetterの生成
をクリック。
-
ひとまず
すべて選択
→挿入ポイントを選ぶ(ひとまず最後のメンバー
)→生成
-
ああああああ生成されたああAaAAAああ!!
3.5. try/catchの自動生成
ソースの範囲を選択してtry/catchで囲むことができる。その時、囲んだ中に例外が発生するクラスがあればその例外クラスがcatch部分に生成される。
手順
MySQLドライバのクラスを読み込む例。
-
対象のソース範囲を選択して右クリック→囲む→try/catchブロック。
-
はい!できた!
3.6. 自動生成される//TODO(タスク機能)の使い方、生成されないようにする方法
//TODOは役に立つんか?邪魔だから消すか、という内容。
Discussion