EclipseでMaven Web Project作成
Eclipseで不通にMaven Web Projectを作成すると、あれれ?ビルドエラー・・・
困ったときはググるのです。そして、メモを残すのです。
ということで、少々パクリ感がありますが、うまくいかなかったときのメモです。
【環境】
Eclipse 4.6 x64 (Preiades All in one)
【手順】
- パッケージエクスプローラーで右クリック→新規→Maven プロジェクトを選択
- デフォルトワークスペースロケーションにチェックをして、次へボタンを押下
- アーキタイプの選択で、「maven-archetype-webapp」を選択して、次へボタンを押下
- グループIDとアーティファクトIDに文字を入れて(今回は、MavenWebAppSampleとしました)、完了ボタンを押下
- 出来上がったプロジェクト内のsrc/main/webapp/WEB-INF/index.jspがコンパイルエラーになっています。なぜだww
※環境によっては正しく作られるのか?
【解決方法】
index.jspを開いて、エラーを確認すると、
「スーパークラス "javax.servlet.http.HttpServlet" が Java ビルド・パスで見つかりませんでした」
つまり、servletのライブラリがないと・・
ならば!
pom.xmlに追加してやればいい!そもそもなんでもともと入ってないんだよ><;
ということで追加。
<
dependency
>
<
groupId
>javax.servlet</
groupId
>
<
artifactId
>servlet-api</
artifactId
>
<
version
>2.4</
version
>
<
scope
>provided</
scope
>
</
dependency
>
今回は、とりあえず、2.4を追加しました。
これで保存したらいったんエラーはなくなるはずです。
さて、開発を・・・
あれ?Javaソースのフォルダはどこだ!
ない!どこを見てもない!
これも実は追加する必要があります。ただし、eclipse上からソースフォルダを追加しようとすると、すでにソースフォルダだといわれ追加できません。
これは、ソースフォルダは定義されているが、実体がないためです。
ならばということで実体を作ってしまいます。
パッケージエクスプローラーのプロジェクトから、右クリック→新規→フォルダーでsrc/main/javaフォルダを作ってしまいましょう。
これで一通り準備は完了です。
最後にうまく動くか確認です。
MavenWebAppSampleプロジェクトを右クリックして、実行→サーバで実行を選択すると、コンソールに文字が表示され、eclipse上でブラウザが起動して、Hello World!が表示されるはずです。
これで、Webアプリケーションが作成できました。
しかし、いきなりビルドエラーとは・・・(笑)