Ubuntu に Spring Tool Suite を入れて Java EE 7 検証環境をつくる
つい先日、Ubuntu + GlassFish v4 に Eclipse で開発環境を作成した。
純粋な、Java EE 7 が結構使えるのではないかと言うもくろみだった。
なので、作成したEclipseの環境で、まず JSFを使ってみようと、Facelet を使ってみようと、「FaceletsはぴったりとJSFにフィットします」 こんな記事や、「JSFを信じない人のために: JSFに関するFUDをクリアーする」こんな記事を読みながら、簡単な、本当に簡単な Facelet を作成してみたのだが、、、
やっぱりダメだ。あの自動で吐かれるHTMLはダメだ。生理的に受け付けない。
「Java EE6は Spring の代替になると思いますが、ただしJSFは除く、という話」に書かれている、
もうひとつのJSFの欠点が、最近のJavaScriptのプログラミングの進化と衝突する点です。最近はクライアントサイドのJavaScriptもMVCで(昔より)まっとうなGUIプログラミングモデルに進化しつつあります。JSFはこの動向と衝突します。なぜならJSFはクライアントサイドのJavaScriptのイベントを抽象化層の下に隠蔽する発想だからです。
なぜいまだにJava EEがStrutsの亡霊のようなJSFを中心に据えているのか不思議でなりません。もっともJava EE関係者の内部には同じ疑問を抱いている人たちもいそうです。少なくともProject Avatarの連中はJSFに疑問を抱いているはずです。
に同意。JSFって、ASP.NETのサーバーサイドコンポーネントの後追いで出てきた記憶があるけど(まぁそもそも、JSPもASPに追随した記憶も)、JSFの完成度が上がる?のと前後して、Ajax が出てきてクライアントサイドの開発パラダイムが変わってしまった。サーバーサイドでコンポーネントを作成して、HTMLが汚くなるのはかなりキツイ。それ以前に、サーバーサイドで全部やる必要がないし、クライアントJavaScriptから介入できないようなHTMLではつぶしがきかなさ過ぎる。
とはいえ、今更 Strutsはないので、、、結局 Spring MVC しか適当なのがない。JAX-RSに、HTML吐かすこともできるみたいだけど、サービスとHTMLをごっちゃにするのもしっくりこないし。
ということで、純粋JavaEEから、Spring MVC + Java EE 7 の検証環境をつくっていくことに方向転換。
Spring の環境使うのに、STSが楽なので、環境構築する。
1.Spring Tool Suite のダウンロードとインストトール
http://spring.io/tools/sts/all から Linux 用の 64bit をダウンロード
Eclipse のプラグインとしても提供されています。
解凍して、~/opt に持って行く。
$ tar -xvf spring-tool-suite-3.4.0.RELEASE-e4.3.1-linux-gtk-x86_64.tar.gz $ mv springsource/ ~/opt
STSをダブルクリックで起動
1.1.メニューが表示されない
という不具合があるので、対応する。
sts.sh
#! /bin/bash export UBUNTU_MENUPROXY=0 $(dirname $0)/STS
実行権限
$ chmod +x sts.sh
2. GlassFishプラグインの導入
は、Eclipseと同じ。
3.Spring Project (Spring MVC)の作成
3.1 プロジェクトの作成
プロジェクトエクスプローラーのコンテキストメニューから、Spring Project の作成をえらんで、Spring MVC Project を作成する。
3.2 うごかしてみる
Hello World アプリ(時間を取得して表示する)が構成されているので、Servers ビューのGlassFishを右クリックし、Add and Remove から、Webアプリケーションを追加して、GlassFishを起動する。
動きました!
4. EARの構成
Webアプリケーションは、Spring MVCでいいけど、JPAとかEJBのプロジェクトを作成して、EARにまとめたいので、新規プロジェクトの作成から、Java EE -Enterprise Application Project を作成する。
名前をつけて、
先ほどの、Spring MVC アプリケーションが表示されるので、EARに含める。
5.デプロイのテスト
EARプロジェクトが作成できたら、プロジェクトを選択して、コンテキストメニューから、Export – EAR fileを選択し、EARファイルを作成。
http://localhost:4848 で GlassFishp の管理コンソールをたちあげ、左側のペインでアプリケーションを選択し、デプロイボタンを押下。
作成したEARファイルを指定。
デプロイされた。
下へスクロールしていくと、WAR があるので、右端のアクション-起動を押してみる。
http と https それぞれのアプリケーションへのリンクが記載された画面が表示されるので、クリック。
起動した!
6.Spring Tool Suite からの起動テスト
Servers ビュー、GlassFish の コンテキストメニュー Add and Remove を開いて、EARを登録
GlassFishを起動して、アプリケーションにアクセス。
起動した!!
今日はこんなところ。