Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

プレゼン、ボランティアコーチします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチします!資料レビューや録画リハへアドバイスします。Twitter@jyukutyoまでメンションでもDMでも。

私はデブサミやJJUG CCCなど200人規模で経験ありです。海外も短いながら経験あり。デブサミ2017では公募スピーカー1位でした!

Introducing Apache Wicketのサンプルをローカルで動かしてみる with Eclipse

TSSの「Introducing Apache Wicket」を翻訳しました。
Introducing Apache Wicketの超意訳まとめ - Fight the Future{|じゅくのblog|}
http://d.hatena.ne.jp/jyukutyo/20080206/1202308392


今日はそこで解説されてたサンプルをローカルで動かしてみよう!と思います。
Mavenが要るのでセットアップしてない人は以下を参考にセットアップしてね。
Wicket QuickStartをやってみる - Fight the Future{|じゅくのblog|}
http://d.hatena.ne.jp/jyukutyo/20080207/1202392001


さて、まずソースコードをダウンロードします。
http://www.systemmobile.com/code/wicketintro.zip.
解凍して適当な場所に配置します。Mac OS用?と普通のと2つ入っているみたい。
今回はEclipseのプロジェクトにしてみようと思ったので、「intro」フォルダ以下すべてをEclipseのワークスペースに配置しました。
デフォルトならワークスペースは「C:\Documents and Settings\ユーザ名\workspace」です。


さて、サンプルにはMavenのpom.xmlが含まれてます。MavenのコマンドでEclipseプロジェクトに変換します。
コマンドは「mvn eclipse:eclipse -DdownloadSources=true」です。
ワークスペース以下のintroフォルダをカレントディレクトリにしてコマンドを入力します。

C:\Documents and Settings\ユーザ名\workspace\intro>mvn eclipse:eclipse -DdownloadSources=true
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] artifact org.apache.maven.plugins:maven-eclipse-plugin: checking for updates from central
・・・
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
・・・

で、Eclipseを起動しましょう。introをインポートしま。
パッケージエクスプローラーからImport→Existing Projects into Workspaceでintroフォルダを選択します。
あれ、エラーメッセージが出ます。

Unbound classpath variable: 'M2_REPO/・・・' in project 'intro'

Eclipseに「M2_REPO」という変数が定義されていないためのようです。


下記サイトを参考にしてみてください。
Eclipseとの連携Maven-TECHSCORE-
http://www.techscore.com/tech/ApacheJakarta/Maven/4.html
M2_REPOという変数には「Maven のローカルリポジトリのパス」を定義します。
Eclipse上でもできますし、Mavenのコマンドでも実行できます。
カレントディレクトリはどこでもいいので、以下のコマンドを入力します。

mvn -Declipse.workspace=「Eclipseのワークスペースフォルダ」 eclipse:add-maven-repo

今回であれば、こんな感じになります。パスにスペースがあるので、ダブルクォーテーションで囲みました。

C:\Documents and Settings\ユーザ名>mvn -Declipse.workspace="C:\Documents and Settings\ユーザ名\workspace" eclipse:add-maven-repo
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [eclipse:add-maven-repo] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [eclipse:add-maven-repo]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
・・・

で、Eclipseを起動しましょう。OK、先ほどのエラーメッセージが消えました。
ん、EclipseでJettyを動かしたことない。EclipseとMavenもちゃんと連携させないといけない。
今日はEclipseについてはこのくらいにして、サンプルを動かしてみよう。


introフォルダで「mvn jetty:run」を入力します。

C:\Documents and Settings\ユーザ名\workspace\intro>mvn jetty:run

ブラウザを起動して、「http://localhost:8080/intro/」に移動します。

うまくいきました!