Spring MVC学習のためにちょっと入れる機会があったので
原則以下リンク先のチュートリアルの手順通りに進めることを目指す。某TERASOLUNAってやつです。そのための準備。
他のプロジェクトを扱う場合はもちろん適宜変えないといけない場所があるので注意。
途中まで古いバージョンでやろうとしてうまくいかなったのでそれも注意。
TERASOLUNA Server Framework for Java (5.x) Development Guideline — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.5.1.RELEASE documentation
11.1. チュートリアル(Todoアプリケーション) — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.5.1.RELEASE documentation
環境構築
Spring Tool Suiteプラグインのインストール
マーケットプレースを開いて
STS(Spring Tool Suite)で検索する
もうインストール済みでした。インストールされていない場合はここからインストールすれば大丈夫だと思います。
プレアデスをインストールしたのですでにプラグインが導入済みだったようです。
プレアデスのインストールは以下の記事でやった通りです。
MavenのWindowsへのインストール
Mavenとはソフトウェアプロジェクト管理ツールです。
以下をさらっと確認しました。
1. Maven とは | TECHSCORE(テックスコア)
コマンドプロンプトから以下のコマンドを実行しろと言われてましたが実行できなかったのでWindowsにインストールするところから。
mvn archetype:generate
★Mavenのダウンロード
以下のサイトからダウンロードする。
https://maven.apache.org/download.cgi
とりあえず任意の場所にダウンロード。
私の場合は「C:\」直下に展開しました。
★環境変数の設定
システム環境変数のpathに以下を追加する。
展開場所やバージョンは自身のものに修正すること。
C:\apache-maven-3.6.1\bin
★Mavenの動作確認
コマンドプロンプトを開いて以下のコマンドを実行。
mvn -v
JDKが入ってなかった。。。入ってればここでバージョンが表示されて完了です。
JDKのインストール
順序が前後して若干ぐだっているがJDKのインストールを実行する。
★JDKインストール
Oracle社の公式HPからJDKダウンロード
Java SE - Downloads | Oracle Technology Network | Oracle
特に理由がなければ最新版で。
追記:影響があるのか正直分かっていませんが、エラーが多発したため、私はTomcatのjavaのバージョンに合わせて入れなおしました。
入れなおしたのはJDK-11 取得サイトは以下
OpenJDK: Download and install
同意にチェックをいれてからダウンロードする。
私の場合はWindows版のexeファイルをダウンロードしてそのまま実行した。
exeファイルが実行できたら指示に従って進めていく。基本的にはデフォルト設定のまま進めていけばいいだろう。
★環境変数の設定
pathに追加を行う。インストールしたJDKのbinを指定すればよい。
私の場合は以下の通り。
C:\Program Files\Java\jdk-12.0.2\bin
★JDK動作確認
コマンドプロンプトを開き。javaのバージョン確認コマンドを実行する。
java -version
バージョンが表示されれば成功。
成功しているようなのでついでにMavenの動作確認も行う。
今後は大丈夫そうです。
Eclipse側のMaven設定
EclipseのプラグインMavenの設定を行っておきます。
どう影響してくるのかはやりながら確認していきます。
初期設定だと赤枠部分が設定されていなかったのでチェックを入れて適用。
プロジェクトの作成
ブランクプロジェクトの作成@Maven
WindowsにインストールしたMavenにブランクプロジェクトを作成します。
コマンドプロンプトから以下のコマンドを実行。
コマンドラインを使用して対話形式でプロジェクトを作成するコマンドみたいですね。
今回は「データベースを使用せずjava.util.Mapを使ったインメモリ実装のRepositoryImpl用のプロジェクトを作成する」という方式を採用するため、
以下のコマンドをコマンドプロンプトから実行していきます。
※私はチュートリアル用のコマンドを使用していますので自分がやりたいようにもちろん変えてください。
mvn archetype:generate -B^ -DarchetypeGroupId=org.terasoluna.gfw.blank^ -DarchetypeArtifactId=terasoluna-gfw-web-blank-archetype^ -DarchetypeVersion=5.5.1.RELEASE^ -DgroupId=com.example.todo^ -DartifactId=todo^ -Dversion=1.0.0-SNAPSHOT
処理が実行されたこの表示になれば成功。
またプロジェクト作成時に作成されるフォルダ(以下、ソースフォルダ)は以下のパスにできていました。
Windowsログインユーザの直下です。
追記:カレントディレクトリに作成されるようです。なので、コマンドプロンプトでC:\に移動し実行すればC直下にできます。
C:\Users\[ユーザ名]\[DartifactId]
例)(私の場合)
C:\Users\wanta\todo
「pom.xml」が存在していることだけ確かめておきます。
Eclipseプロジェクトへの変換@Maven
Maven側でEclipseプロジェクトへの変換は不要と書いてある記事などもありましたが、私はここでつまづきました。
後述しますがこの工程を飛ばしてEclipseでインポートを行うとエラーがめっちゃでました。100オーバーです。
エラー原因を探りながらだったので、証跡が残ってないのですが以下手順です。
コマンドプロンプト上でソースフォルダに移動する。
上記の例では以下の通り。
cd C:\Users\wanta\todo
移動後、以下のコマンドを実行します。
mvn eclipse:eclipse
BUILD SUCCSESS が表示されるまで待つ。
これで準備OK!
プロジェクトのインポート
Mavenに作成したプロジェクトをEclipseにインポートします。
果たしてうまくできるのか?
ファイル>インポート を選択
既存のMavenプロジェクトを選択して次へ。
ルートディレクトリに先ほど作成されてフォルダを指定する。
pom.xmlが表示されていることを確認する。⇒完了。
プロジェクトが作成されると思うが、インポートが完了するまでじっと待ちましょう。
構成的には問題なさそうなのでとりあえずOK!
警告が大量にでていますが、問題になるまで一旦無視します。(悪い習慣
プロジェクトの動作確認
私が使用したプロジェクトの場合は「Hello world」のページが用意されていたのでそのまま動作確認に入ります。
・サーバの作成
(別の方法もあるんだと思いますがとりあえず知っている方法で)
パッケージエクスプローラ上で右クリック⇒新規>その他を選択
サーバを選択。
任意のTomcatのバージョンを選択。
私の場合は9.0
対象のプロジェクトを構成済みに追加しておく。⇒完了。
・サーバの起動
作成したサーバを任意の方法で起動する。
起動したらブラウザ等で当該のURLにアクセス。
私の場合は以下
http://localhost:8080/todo/
作成(作成済み)の画面が表示される
いやったー!!!!!!!本来の本題に入ってないのにこの達成感。。
途中エラーが多くてやってることの割にすごーく時間がかかりました。多分有識者がやれば小一時間
これで後はやりたい放題。
EclipseでのMavaenプロジェクトインポートの失敗例
EclipseでのMavenプロジェクトのインポート時にエラーが多発しました。
行った対処方法を残しておきます。もちろんうまくいった場合はやる必要がないです。
当時の私の感想⇒「完了したかと思ったら123個のエラーって。。。これ使い物にならないのでは???」
エラー例
javax.servlet.http.httpservlet が java ビルド・パスで見つかりませんでした
httpservletrequestを型に解決できません
Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from/to central (http://repo.maven.apache.org/maven2): repo.maven.apache.org
などなど。。。全部はメモしきれていませんでした。
全体的にはjarファイルの配置とか、ソースがうまく読み込めていないようなエラーが多かったです。
エラー対応のためにやったこと
①プロジェクトのリフレッシュ
プロジェクトの右クリックし、リフレッシュ。
⇒効果なし
②Eclipse再起動
お次はEclipseの再起動。
⇒効果なし
③Mavenプロジェクトの更新
プロジェクトの右クリックし、Maven>プロジェクトの更新
⇒効果なし
④JDKのバージョン変更とEclipse用プロジェクトへの変換
結果的にはこれが効果ありました。
一旦、関連ファイルを削除して入れなおしています。削除以外の具体的な作業は上記の説明手順通りです。
但し、どっちの対応がどれほど効果があったのかいまいちわかっていないです。そこを検証する気力はありませんでした。
※個人的には「Eclipse用プロジェクトへの変換」がきいたような気がしていますが。。
1.Eclipse上のプロジェクトを削除
2.ソースフォルダの削除
私の場合は「C:\Users\wanta\todo」
3.「.m2」フォルダの削除
私の場合は「C:\Users\wanta\.m2」
4.JDKのバージョンを12⇒11に入れ直し(pathが通ればよい)
5.Maven上のプロジェクト作成コマンドの打ち直し
6.Eclipse用プロジェクトへの変換コマンドの実行
7.Eclipse上でプロジェクトインポートのやり直し
↓
エラーがでない!!!
↓
歓喜(*´ω`*)
SpringとかMavenとか初学なので、どのファイルがなかったとか記述足りなかったとか配置がおかしかったとか根本的な原因は分かりませんが困っている方の助けとなれば。
この後、構築した環境で本来行いたかった勉強をしますが、ブログに残すかは未定。
とりあえずチュートリアルが雑すぎる!!!!
全てが素人の人向けではない気がしますね