はじめに
MavenからSpringを動かすときに毎回作成手順が煩わしいので、備忘録的に作成手順を書き残していきます。
参考書籍
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
[改訂新版]Spring入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
EclipseからMavenプロジェクトを作成する
環境
Maven 3.3.9
Spring 4.2.6
JRE 1.8
Eclipse:Neon Release (4.6.0)
新規プロジェクトからMavenプロジェクトを選択して進んでいく
アーキタイプ webappを選択
グループID アーティファクトidを入力して完了
最終的なフォルダ構成はこうなります。
初期状態ではjspにエラーがありますが、依存関係が追加されいないため、問題ありません。
ファイルの設定
###pom.xmlで依存関係ライブラリを管理します。
必要なライブラリがある場合はMavenの公式サイトで調べます。
Maven公式サイト
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>work</groupId>
<artifactId>app</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>app Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencyManagement>
<dependencies>
<!-- ① -->
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>2.0.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- ② -->
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-jstlel</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>app</finalName>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<soruce>1.8</soruce>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
①
Spring IO Platform のライブラリを追加します。
共通の依存のライブラリのバージョンを標準化して、動作の保証を行っています。
②
Servlet APiの依存ライブリを追加します。
これで、jspのエラーが解決します。
上記を追加したら
プロジェクトで右クリック →「Maven」→「プロジェクトの更新」を実行します。
Web.xmlの修正
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
"
version="3.0"
>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
<include-prelude>/WEB-INF/include.jsp</include-prelude> <!-- ① -->
</jsp-property-group>
</jsp-config>
</web-app>
①各JSPの先頭にインクルードするファイルが指定できます。
よく使用するJSTL等を定義したファイルを使います。(省略可能)
後はサーバーで起動して
http://localhost:8080/app/
にアクセスすると
と表示できれば、起動までの確認が完了しました。
次回はcontrollerからアプリケーションを呼び出し、
thymeleafテンプレートを使用して表示していきます。