Eclipse WTP + Apache Tomcat 環境設定

最近は、Java EE のアプリをデプロイできるレンタルサーバ(?)も増えてきて、個人的にインターネット上でも Java EE のアプリを公開できる環境も実験的ながら整ってきました。

てなわけで、お手軽にそのような環境のアプリ開発環境をつくる方法ということで、Eclipse WTP(Web Tools Platform) + Apache Tomcat の設定方法を書いてみます。 仕事でやってると同じアプリ作り続けるので初期設定ってあんまりやらなく、すぐ忘れるので自分のメモ用でもあります。。(笑

さすがのひろまさくんも extends HttpServlet からやるのは面倒なので、Click Freamwork もあわせて入れています。

事前準備。

Eclipse IDE for Java EE Developers を起動するようにする。  これはEclipse WTP が含まれています。

ClickIDE Eclipse プラグイン。 Click Framework サポート用のプラグインです。 Eclipse にいれておきます。 (Click っていつのまにか、Apache Incubator になってる? Apache Click という名前に変わったのかもしれません。)

Apache Tomcat。 配布されている .zip を任意のディレクトリに展開しておけばOKです。(ぼくは /opt/ の下に入れています)

これだけです。 あとは、Eclipse を起動して操作を進めます。

ファイル->新規作成から「動的 Web プロジェクト」を選択して次へ。

eclipseee01

プロジェクト名を決めて、ターゲットランタイムの「新規」を押下。

eclipseee02

アプリケーションサーバを決めます。 今回は Apache Tomcat なのでそれを選択して「次へ」。 他のを使う人はそちらを。 🙂

eclipseee03 

Apache Tomcat のインストールディレクトリを選択して「終了」 ぼくは /opt/ の下に展開したのでそこを選択しています。

eclipseee04

もとの画面に戻ってきて、ターゲットランタイムが選択された状態になるので「次へ」

eclipseee05

その他の追加構成を選択します。 Faces とか使う方はここを。 ぼくは Apache Click を使うのでチェック。(ClickIDE によって追加されたものです)

eclipseee06

モジュール構成の選択。 この辺はお好みで。 「終了」

eclipseee07

そうすると、プロジェクトに必要なライブラリが追加されます。 Java EE と SE と Click の jar がみえます。

eclipseee08

さて、ここからちょっと Apache Click の世界。 WEB-INF に click.xml があるので開いて、ページの設定から自動マッピングの設定をします。 これで任意の Java のパッケージと .htm のファイルの対応がとられ、同名クラスとHTML が対になります。

とりあえずパッケージを、 net.maple4ever.djsample に。

eclipseee09

で、Click IDE の新規ページ追加から index.htm を追加してみました。 net.maple4ever.djsample.Index インスタンス処理後、index.htm が表示されるイメージです。

eclipseee10

Apache Click の世界はここまで。 別のフレームワークとか素でかくかたは、それなりのソースを配置します。

とりあえず、ここまでで動くソースができたとして Tomcat にデプロイして実行してみます。 プロジェクトを右クリックして、実行->「サーバで実行」

eclipseee11

アプリケーションごとに割り当て可能な新規のサーバ構成をつくります。(サーバというプロジェクトが新規作成されて server.xml などが作成されます)

Apache Tomcat を選択します。

eclipseee12 

eclipseee13

さすると、勝手にデプロイされてインターナルブラウザで開いてくれます。 開いているファイルによっては変な URL にアクセスするときがあるので、そういうときは適宜 URL をコンテキストルートに。

Tomcat の起動、デプロイログはコンソールビューに表示されます。 今はなんも処理かいてないのでブラウザはまっしろ。 🙂

eclipseee14

eclipseee15

このサーバ起動状態で Java / .htm ファイルの修正を行うと、勝手にコンパイル・再デプロイしてくれるのでブラウザでアクセスすれば直したものが表示されるハズです。

上の実行構成の作成と同じ要領で、デバッグ構成をつくってエディタの操作でブレイク張っておけばステップ実行できるようになります。

eclipseee16

ファイル修正後の同期の状態は、サーバビューからみることができます。 ここが同期済みであれば再デプロイ済みです。

eclipseee17

普段はこのデバッグプロセスを起動させておいて、ソース修正してデプロイ確認後、Firefox とかのブラウザで 8080 で起動している Tomcat の URL にアクセスして作業することになるとおもいます。 Eclipse とデバッグプロセスが通信しあっているので、ブラウザからの操作でいい具合に Eclipse でステップとかウオッチとか可能です。

ということで、Eclipse WTP 使えば、 PHP みたいなスクリプト言語の実行環境と同じように、ファイル書き換えれば動くみたいな環境が構築できます。 PHP よりフレームワークとか標準ライブラリが整っているのであるいみ便利かもですね。

ちなみに、war 玉はプロジェクトを右クリックしてエクスポートするとできあがります。(複雑になるとほんとは ant でやるでしょうが。。)

Morph AppSpace とか Stax Networks に Java EE のアプリをデプロイとかしてみたいなーって方、割と簡単です。 おためしください。

牡蠣ごはんと Fable II

厚岸の牡蠣キター! ということで牡蠣ご飯をつくりました。 生でもいくつかいただきましたが、厚岸(あっけし)の牡蠣はうまいっすね。。 🙂

DVC00083

先日、雪が降らない、みたいなことを書いていたらようやく振り出しました。

DVC00002

まだ、積雪5センチといったところですが道路も圧雪状態です。 気温も下がりつつあります。

IMG_0008

まぁ、-13 度といっても家のなかは暖かいのでいわれなきゃ気がつかないのですが・・・。 うちは耐熱性が高いらしく、暖房つけなくてもパソコンの廃熱くらいでぜんぜん平気なんですよね。。(笑)

さて、先日買った Xbox 360 用 RPG、Fable II ですが、お正月にゆっくりやろうかと思っていたら、面白くてメインストーリ終わらせてしまいました。

といっても終わった後もこの世界、アルビオンの住民の生活は続き、やっていないお楽しみを引き続きプレイすることができますので、この後もぶしぶし敵をたたくことでしょう。

CEROレーティング Z (R18)ってことで全体的にどことなく暗く(ファンタジー映画のあの感じです)、そしてダークに遊ぶとそれこそダーク。 世界の中でいくらでも悪いことができてしまうのがこのゲームの最大の魅力かもしれません。

自己犠牲善行のペナルティーがもっときつければ、主人公の苦悩すら表現できたのかもしれません。 このへんは意外とぬるく調整してあるので、比較的選択が善行に流れやすいのですが、それでも、自己犠牲で自分の経験値オーブが体から噴き出して弱くなっていく演出は圧巻。

敵と戦うアクション部分もオブリビオンの10倍良くできていて早く次の敵でてこないかな~って気分になりますし、街人の AI も隙はあるもののちゃんと生活している感じがします。 街人の自分への評価値とストーリがもっともっとからむと面白かったのですが、この辺は次回のお楽しみと言うことで・・・ 🙂

感情移入できるよう描写されたビアンカとフローラの2択結婚の世界が好みか、情報はステータスしかない世界の誰とでも結婚できる世界が好みか、この辺で評価が分かれるくせのあるゲームですが、ぼくは面白いと思いました。

想像力を働かせるのが得意な方はやってみてください。 しかしながら、R18 だけあってドラクエでは表現できないカップルのお楽しみの描写はあります(笑)

てなわけで、お正月にすることなくなっちゃった。。 😛

ボキャブラリが少ない

コンピュータ言語ってよっぽど特殊なものでないかぎり、最近はどれも似たような使い方ができるので、ひとつ何かができる人はどんな言語でもそれとなくは使えるものです。

ただ、ぼくなんかはまさにそうですが圧倒的に特定言語に対するボキャブラリ足りない。 一応、それぞれの構文を使いこなせなくても存在くらいは知っておかなきゃ、ということで最近扱っていた、C# の本を買ってきました。

Siroica さんに教えていただいた標準講座 C# です。 5200円とちょっとお高いですが、620 ページ近く、全編にわたって最新 C# の言語仕様が分かりやすく解説されています。

ここのところ 3ヶ月ほど C# を扱っていましたが、最初はみため Java ぽいので、Java っぽく使っていましたが、いやはや使うにつれて、C# の冠が なぜ C であるかということが少しずつ分かってきました。

unsigned があったり、out とか ref とか predefined の参照が使えたりして、なるほどな~という感じでした。

その他も、プロパティとかインデクサとか # 的な部分、また若干スクリプト言語に近いようなちょっとハッキッシュな記述方法とかも面白かったです。 throws がないのはまだ怖いです。。(笑)

DVC00082

モニタにうつってるのが Linux なのがあれですが、まぁまぁ C# も ECMA な言語なので OKです。(笑) Mono もずいぶん育って、C# な UNIX アプリもふえてきましたね。

たぶん、一般的なコンピュータ言語って変数の型と配列、if とか for とかの制御構文の書き方、入出力の仕方くらい分かればなんとなく使えるんだと思います。 あとは、ArrayList と HashMap とかですか。あ、List と Dictionary か。

なんてやっていると我流になってしまって、みる人がみると「なんじゃこりゃ」と思われてしまうので、今回は Paint.NET のソース見たりしてノウハウをえたりしていました。。 ぼくがかく PHP なんかは我流の筆頭かもです。。 をかもとさんのソースをみていつも、枕を涙でぬらしています(笑)

今月で C# は終わってしまいますが、せっかく少し覚えたので最後にこの本で体系的におさらいを。。 きっと、もっと効率的にかけてショックをうけるようなことが書いてあるんだろうなぁ。 ドキドキ。。 🙂