springframework

レガシーSpringのデフォルト状態からエラーを取る

思い立って

今までSpring-Bootを使ってたけど、細かいライブラリのバージョン管理がしたかったので、思い切ってレガシーSpring Frameworkに

必要な環境

1.6以降のJDK
Tomcat 6.0以降

で、普通にSpring MVCプロジェクトを選択
image.png

なんですが

デフォルトのテンプレートプロジェクトが古すぎて、エラーがポコポコ出てきます。
これを一個一個つぶす手順をメモ。

1.ライブラリのダウンロード

まず、テンプレートに使うSpringのバージョンが古くなっています。
Spring 4.0.0.RELEASEくらいに変えましょう。この時Javaとか他のバージョンも調整してください。
Spring公式デモの https://github.com/spring-projects/spring-mvc-showcase を参考にするといいかも

image.png

次に依存性を解決します。
この時、MavenリポジトリにはSpring3に対応したライブラリが中途半端に残っています。

以前の他のプロジェクトのライブラリが残っていたり、ダウンロードが中途半端に残ってたりすると、エラーが起こる確率が高いです!
<ユーザーホーム>.m2\内のrepositoryフォルダを削除しましょう。

ライブラリはMavenでいくらでも取れるもんね。

image.png

pom.xmlの設定が終わったら
プロジェクトを右クリックしてMaven プロジェクトの更新をクリック
これで依存性は解決。次はビルドパスの設定をしましょう。

2.ビルドパス、実行環境の設定。

プロジェクト > プロパティからJDKのレベルを1.6以降に変更。
(自分の場合は1.8)ですね
image.png

また、JDKのライブラリをプロジェクトに反映させましょう
Javaのビルドパス > ライブラリーの追加 > インストール済みのJRE からインストールしたJDKを選択します。ない場合は追加してね。実行環境をJDKに設定したらJDKを選んで設定。
image.png

あと、プロジェクト・ファセットのJavaもレベルを1.6以降にそろえておきます。
image.png

最後に実行環境の整備です。
(古いEclipseでは対象・ランタイムって書いてるらしい)
実行環境をインストールしたTomcatに設定します。サーバーが無いときは新規から設定してね。
image.png

(これでJSPのライブラリー記述子がエラーが消えるはず)

これでエラーが消えてビルドできるようになったとさ。
次はちゃんとした実行まで。