pom.xmlの編集JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。́○)と、そろそろ怒りが込み上げてきた人もいるかもしれませんが、まぁ、まぁ、そう慌てなさんな。あともうちょっとです。ここからは、Mavenプロジェクトの心臓とも言える、pom.xmlの話をしましょう。Model)とは、いったい何ぞ??また、訳のわからない単語が出てきました。石ころばっかで歩きにくいったらありゃしない(笑)「1-1)Mavenプロジェクトの生成」で少し話しましたが、Mavenさんが、雲の上の楽園に必要なプラグインを探しに行くための、飛行機の往復チケットだと思ってください。いうファイルが見えるはずです。このファイルを選択し、マウス右ボタンクリックでメニューが表示されます。「次で開く」-「Face構成エディター」を選択すると、Eclipseのエディットビューにpom.xmlが表示されるはずです。POMエディタ」とかでも行こうと思えば行けますが、かなり慣れが必要で、私は全く使う気になれません。2-2)Eclipseの動作環境設定」の最後の方に紹介しているので知りたい人は、一度回れ右して探してきてください。Eclipseエディットビューに、pom.xmlの初期内容が表示されました。この状態は、「1-1)Mavenプロジェクトの生成」で、プロジェクトを新規作成した際に入力した値が表示されおりそれ以外は、まだ何も登録されていません。これを、自分に合った(必要な)プラグインを取得するために編集していきます。一つ一つ説明するのが面倒なので、このjLaboプロジェクトで実際に使うpom.xmlの生ファイルを下にご紹介しておきます。コピペして使ってもらっても何ら問題はありません。(ただし、使うばやいは、行番号は外してね!)pom.xmlの具体的な書き方について少し解説しておきます。上の、pom.xmlで言うと、10行目までは、プロジェクト作成時初期値のまま変更はありません。11行目から36行目の、<build></build>のブロックは必須ではないので、最悪無くても構いません(今のところ気休め程度)ただし、最終的に公開サーバーにリリースする際に、サーバー上でリリース物をビルドする際には重要なファクターとなるので、この通りに記述しておいた方が良いでしょう。下の<dependency>で使う各プラグインのバージョン指定を、ここにまとめただけなので必須ではありません。(お好みでどうぞ)50行目以降の<dependencies></dependencies>で囲まれたブロックが最も重要な部分です。Mavenリポジトリから検索したいプラグインのプロパティを、<dependency></dependency>ブロックで囲んで必要なだけ追加してゆきます。今回は、Spring-MVCと、Thymeleafと、MyBatisがメインなのでそのあたりに重心を置いて、あと周辺で必要なプラグインを定義しています。<dependency></dependency>の中の書き方ですが、これには決まったルールがあり、適当に書いてもMavenはダウンロードしてくれません。書き方は、ネットを検索すればいろいろ紹介されていますが、自分が欲しいバージョンじゃなかったりと帯に短し、痒いところに手が届かないもどかしさがあるので、雲の上の楽園を直接覗いてみましょう。覗けますとも!ちょっと脇道にそれますが、まぁそんなに急ぐ旅でもないので余興として聞いてください。Repositoryのサイトを開きます。自分が欲しいプラグインを検索BOXに入力します。「spring-mvc」としてみます。キーワードに関連したプラグインの検索結果の一覧が表示されます。MVC」のリンクをクリックします。指定したプラグインのバージョン一覧が表示されます。2016年3月時点での最新版「4.2.5.RELEASE」のリンクをクリックします。バージョンアップしました。指定したプラグインの情報が表示されます。見ると、画面の下ほどに、<dependency></dependency>で囲まれた文字列が見えます。ペーストすれば大丈夫です。Repositoryが直接参照できて、プラグインの検索もできて、プラグインが直接ダウンロードできるのなら何もわざわざ、pom.xmlに記述するような事せずに、直接ダウンロードすればいいんじゃね?と考えてもおかしくはありませんね。残念ながらこれでは真理には辿りつけません。見ると、何カ所か、水色の文字でコメントアウトされてるブロックがあります。例を挙げると、89行目から108行目のSpring関連が、spring-webmvcプラグインを除いてコメントアウト(無効化)されています。Springの一番コアとなるプラグインが必要なのですが、ここでは、定義すらされていません。これでほんとに動くのでしょうか?勘のいい人ならもうすでにお分かりでしょう。Mavenさんは、pom.xmlに書かれているプラグインを探すときに、そのプラグインが依存している、別の下位のプラグインまで自動的に探し出してくれるのです。Maven形式ではないプロジェクトの場合は、当然Spring-MVCに必要なすべてのプラグインを自分で調べてネット上に散らばったプラグインを探してダウンロードしなければならず。非常に骨の折れる作業です。今回、jLaboプロジェクトを、Maven形式のプロジェクトで作成した必然的理由はまさにこの点にあります。前にも書きましたが、pom.xmlは再利用可能なので、最初は色々苦労するかもしれませんが一度作ってしまえば、次からはそれをベースにして、プラグインをちょこっと追加したりして拡張できるので二回目以降のプロジェクトからは、ほとんど労力がかからなくなります。Mavenさんの凄さ、少しはわかっていただけたでしょうか?はい。道をそれてしまいましたが、またEclipseに戻ってきました。pom.xmlの編集はきちんと完了しましたが、よく見ると「問題ビュー」で何か問題が発生しています。pom.xmlを勝手に修正したので、どうやらMavenさんが何か文句つけてるようです。この場合は、「ナビゲーター」ビューのプロジェクト名を選択し、マウス右ボタンクリックしてください。長いメニューが表示されますので、「Maven」-「プロジェクトの更新」を選択してください。「Mavenプロジェクトの更新」画面が開くので、対象のプロジェクト名のチェックボックスをチェックして「OK」ボタンをクリックします。「問題ビュー」のエラーが消えて、Mavenさんのご機嫌も直ったようなので、これでpom.xmlの編集は一旦完了です。いう別のフォルダに格納されます。このため、Eclipseのワークスペース間でもプラグインリソースを共有することができて無駄がありません。興味があったら、このフォルダの下を確認してみてください。山ほどの宝物が隠れているはずですから。足の踏み場が悪い道を一気に駆け足で過ぎたので、ちょっと疲れましたね。Spring-MVCの具体的なプログラムに入る前に、少し息抜きしましょう。次は、EclipseでTomcatサーバーを起動し、ローカルPC上でWebを動かす方法を解説します。備忘録として残しておきます。使ってLinuxでビルドしようとしたところ、いくつかビルドエラーが出てビルドが異常終了します。(※Eclipse上では特に異常は出ないのですが。)調べたところ、JDK-10では、どうもpom.xmlの書き方が微妙に異なっているようです。17行目から25行目を次のように修正します。--><webXml<WebContent/WEB-INF/web.xml</webXml<</configuration>以上で、pom.xmlのビルドエラーはとりあえず回避できました。[INFO]的なエラーが出て、ビルドできなくなってしまった。はて?Eclipseでは問題ないのになぜじゃ??あちこちネットを検索してみたらこんな記事を見つけた。httpではアクセスできなくなってしまった模様。見に行くので、プラグインがダウンロードできずにエラーになってしまう。RepositoryへのURLを以下のように追加修正。する--><url>https://repo1.maven.org/maven2/</url><releases><enabled>true</enabled></releases></pluginRepository></pluginRepositories><repositories>ブロックと、<pluginRepositories>ブロックを追加して、urlをhttpsにする。これで、無事アップデート終了。1-3)pom.xmlの編集HOME2-1)Tomcatサ-バ-の。