MavenとeclipseとjettyでWEBアプリ作成環境を作る
Mavenは、eclipseに頼ってコントロールしようとすると辛くなるのが以下の2点。
Mavenの設定管理はアーキテクト担当者1人がやればいいようなもので、実装者は必要なmvnをeclipseで実行し、いざとなったらコマンドでも実行できる状況になっていればいいのかな〜ということで、作る環境としては、eclipseよりMavenに頼る感じの設定手順。
以下、elipseはインストールしてあるものとして説明します。jettyはMavenのプラグインで設定するだけなので別途インストールは不要です。
環境変数を設定する
変数名 | 値 | 値の例 |
---|---|---|
PATH | 解凍したMavenのbinのディレクトリ | C:\...\maven-2.0.7\bin |
JAVA_HOME | javaのjdkのディレクトリを設定する | C:\Program Files\Java\jdk1.6.0 |
Mavenの確認
コマンドプロンプトで以下のように入力して
C:\>mvn -version
以下のように表示されればOK。
Maven version: 2.0.7 Java version: 1.6.0 OS name: "windows xp" version: "5.1" arch: "x86"
MavenでWEBアプリの雛形作成
例えば「C:\eclipse\workspace\」に「myapp」っていうWEBアプリを「jp.co.mvnsample」というパッケージで作るなら以下のように入力して雛形作成。
C:\eclipse\workspace>mvn archetype:create -DgroupId=jp.co.mvnsample -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-webapp
以下のように出ればOK。
・ ・ [INFO] Archetype created in dir: C:\eclipse\workspace\myapp [INFO] ---------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ---------------------------------------------------- [INFO] Total time: 2 seconds [INFO] Finished at: Thu Oct 04 17:07:59 JST 2007 [INFO] Final Memory: 5M/9M [INFO] ----------------------------------------------------
Mavenでeclipse用設定ファイルを作成
例えばeclipseのワークスペースが「C:\eclipse\workspace」の場合、以下のように入力。
mvn -Declipse.workspace=C:\eclipse\workspace eclipse:add-maven-repo
これで、${workspace}\.metadata\.plugins\org.eclipse.core.runtime\.settingsにある「org.eclipse.jdt.core.prefs」ていうファイルに以下の記述が追加される。
org.eclipse.jdt.core.classpathVariable.M2_REPO=C\:/Documents and Settings/ユーザー名/.m2/repository
Mavenでeclipse用プロジェクト設定ファイルを作成
WEBアプリの雛形のルートに移動する。
C:\>cd C:\eclipse\workspace\myapp
eclipseの設定ファイルを作成。
C:\eclipse\workspace\myapp\>mvn -DdownloadSources=true eclipse:eclipse
これで、myappディレクトリに「.project」、「.classpath」ファイルと「target」ディレクトリが作成される。
※「-DdownloadSources=true」を指定することで、Mavenリポジトリにソースファイルも登録されている場合はソースファイルもダウンロードされ、eclipseで参照できるようになります。便利なので、とりあえず毎回指定しておきましょう。
eclipseにm2eclipseプラグインのインストール
http://m2eclipse.codehaus.org/のFlash動画を見ながらインストール。
m2eclipseプラグインの設定
eclipseの「ウィンドウ」→「設定」→「Maven2」→「Local Repository Folder」→「参照」でローカルリポジトリ「C:\Documents and Settings\ユーザー名\.m2\repository」を設定して「OK」。
eclipseのクラスパス変数追加
eclipseの「ウィンドウ」→「設定」→「Java」→「ビルド・パス」→「クラスパス変数」→「新規」で「名前」に「M2_REPO」と入力し、「ローカルリポジトリ」に「C:\Documents and Settings\ユーザー名\.m2\repository」を設定して「OK」。
eclipseでインポート
eclipseの「ファイル」→「インポート」→「一般」→「既存プロジェクトをワークスペースへ」→「ルートディレクトリーの選択」→「参照」で、「パス」にMavenで作成した雛形アプリのルート「C:\eclipse\workspace\myapp」を設定して「終了」。
pom.xmlの設定
pom.xmlの「build」エレメントの中に以下のように「plugins」「plugin」エレメントを記述。
・ ・ <build> <finalName>myapp</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <contextPath>/myapp</contextPath> <scanIntervalSeconds>10</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin> </plugins> </build>
eclipseで動作確認
pom.xmlを右クリック→「実行」→「Maven2 build」→「Goals」に「jetty:run」を入力して実行して、以下のようにeclipseのコンソールに出力されることを確認。
・ ・ [INFO] Started Jetty Server [INFO] Starting scanner at interval of 10 seconds.
※初回起動時は結構時間かかります。
ブラウザで動作確認
http://localhost:8080/myapp/にアクセスして「Hello World!」って表示されればOK。
あとは、「dependencies」エレメントに「javax.servlet」、「struts」とか追加して、DB設定追記して・・は、また今度。