Quantcast
Channel: プラネット NetBeans
Viewing all articles
Browse latest Browse all 4643

marsのメモ: [IDEA][JavaEE] IntelliJ IDEA13でJavaEEプロジェクトを作る

$
0
0

「New Projectウィザード」で「Java Enterprise」を選んで、いろんなテクノロジを選択するんだけど「Application Server」にGlassfish4を選んでいると「Use library from 'GlassFish 4.0.0' installation」って項目が追加されて、大抵のライブラリをGlassfishから参照するようになる。

f:id:masanobuimai:20140622231407p:image

これはこれで便利なんだけど、なんでか一部のテクノロジ(たとえばJPA)はGlassfish内にある javax.persistence.jarを参照せずにわざわざダウンロードしてくる。それに小刻みに参照ライブラリを区切るので、あぶれるものが出てきたり(javax.interceptorパッケージが見当たらない、とか)と、手放しで喜ぶほどデキがよくない。(´・ω・`)

なにより、ローカルにあるGlassfish上のライブラリを参照するので、プロジェクトを共有するのに向かない。

f:id:masanobuimai:20140622231406p:image

だったら、New Projectでヘンに凝ったことせず、せいぜい「Web Application」か「JSF」それも「Set up library later」にして、プロジェクト作っておいて、

f:id:masanobuimai:20140622231405p:image


あとから「Project Structure」でMavenライブラリ(From Maven...)から「javax:javaee-api:7.0」をダウンロードしたほうが数倍マシ。Scopeは「Provided」でね(Web Profileだと「javax:javaee-web-api:7.0」と指定する)。

f:id:masanobuimai:20140622231404p:image

デプロイ先がGlassfish4だと、ほとんど揃っているので「javaee-api-7.0.jar」はProvidedで済むんだけど、他のAPサーバだと必要に応じてJSFの実装とかWARファイルにバンドルしないとダメなんじゃないかな?

f:id:masanobuimai:20140622231403p:image

というか、このjavaee-api-7.0.jar(または javaee-web-api-7.0.jar)、NetBeansには入っているのにGlassfishやJavaEE 7 SDKに入ってないってのは、どうゆう了見だ!と思わなくもない。

#単に自分の探し方が下手なだけ?

ps.

このヘンはNetBeansのほうがマイルドなんだろか...。


Viewing all articles
Browse latest Browse all 4643

Trending Articles