2009年10月10日土曜日

Eclipse で Geronimo (Eclipse 3.5.1 でリスタート その2)

では、Dynamic Web Project を作成してみる。

「File」メニュー>「New」>「Project...」を選択すると、「New Project」ダイアログが開く

「Web」>「Dynamic Web Project」を選択
「Next」ボタンを押すと、「New Dynamic Web Project」ダイアログが開く

「Project name:」に、”sample”
「Target runtime」の「New...」ボタンを押すと、「New Server Runtime Environment」ダイアログが開く



「Apache」>「Apache Geronimo V2.2」を選択。あえて V2.2 を選択してみる。
「Next」ボタンを押す
「JRE:」に、”jre6”
「Application Server Installation Directory:」には、Apache Geronimo をインストールしたディレクトリを指定。今回は”C:\appli\geronimo-tomcat6-javaee5-2.1.4”を指定した。
「Next」ボタンを押す
今回 Geronimo のソースは用意してないので、そのまま「Finish」ボタンを押す

「New Dynamic Web Project」ダイアログに戻って
「Dynamic web module version」に、”2.5”
「Confiuration」の「Modify...」ボタンを押すと、「Project Facets」ダイアログが開く

「Dynamic Web Module」 Version 「2.5」
「Geronimo Deployment」 Version 「1.2」
「Java」 Version 「6.0」
以上3つはデフォルトでそうなっている
さらに次を加える
「JavaServer Faces」 Version 「1.2」

ダイアログ内の右側にある「Runtimes」タブを選択し、「Apache Geronimo v2.2」がチェックされていることを確認
「OK」ボタンを押す

「New Dynamic Web Project」ダイアログに戻って
「Next」ボタンを押す
「Source folders on build path:」は変更しない
「Next」ボタンを押す
「Web Module」の設定は変更しない
「Next」ボタンを押す
「Geronimo Deployment Plan」の設定は変更しない
「Finish」ボタンを押す

「Error」ダイアログが出る。想定通り。
”Failed while installing Dynamic Web Module 2.5.”
”Reason: Failed while installing Dynamic Web Module 2.5.”
詳細を見てみると
”java.lang.NullPointerException”だそうだ。

「workspace\.metadata」 ディレクトリの 「.log」ファイルをのぞいてみると

!ENTRY org.eclipse.wst.common.project.facet.core 4 0 2009-10-10 11:40:01.794
!MESSAGE Failed while installing Dynamic Web Module 2.5.
!STACK 0
java.lang.NullPointerException
at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.createWeb25DeploymentDescriptor(WebFacetInstallDelegate.java:310)
at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.execute(WebFacetInstallDelegate.java:116)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.callDelegate(FacetedProject.java:1467)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:438)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1171)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1107)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$5.run(FacetedProject.java:1089)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChanges(FacetedProject.java:1099)
at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.commitChanges(FacetedProjectWorkingCopy.java:1958)
at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard.performFinish(ModifyFacetedProjectWizard.java:400)
at org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard.performFinish(NewProjectDataModelFacetWizard.java:279)
at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$3.run(ModifyFacetedProjectWizard.java:331)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$4.run(ModifyFacetedProjectWizard.java:345)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)


何のことやらわからんですね。
一応、プロジェクトが作成されるのですが、気持ちが悪いのでファイルごと消しときます。


ここからが本番
いろいろ調べてみると、どうやら WTP が依存するプラグインがインストールされていないことが原因らしい。

「Help」メニュー>「Install New Software...」を選択
「Work with:」で
”Galileo - http://download.eclipse.org/releases/galileo”
を選択。この項目はデフォルトで存在する。

表示された項目の”Web, XML, and Java EE Development”に含まれるいずれかのプラグインが不足しているらしい。

上記カテゴリに該当するプラグインで現在インストール済みのプラグインは
  • Apache MyFaces Trinidad Tag Support (Optional)
  • Axis2 Tools
  • Dali Java Persistence Tools
  • Dali Java Persistence Tools - EclipseLink Support (Optional)
  • Eclipse Java EE Developer Tools
  • Eclipse Web Developer Tools
  • Eclipse XML Editors and Tools
  • Eclipse XSL Developer Tools
  • JavaScript Developer Tools
  • Web Page Editor (Optional)

未インストールのものは
  • Eclipse Faceted Project Framework
  • Eclipse Faceted Project Framework JDT Enablement
  • JST Server Adapters Ver.3.1.1
  • JST Server Adapters Ver.3.1.0
  • JST Server UI
  • JST Web UI
  • PHP Development Tools (PDT) SDK Feature
  • Rich Ajax Platform SDK (RAP)
  • WST Server Adapters


もう一度ログを見てみると・・・
”FacetedProject”という文字が見える・・・
怪しげなところから入れてみることにした

Eclipse Faceted Project Framework
まだだめ
Eclipse Faceted Project Framework JDT Enablement
まだ
WST Server Adapters
だめだ、埒が明かないので全部入れてから消していく戦法に切り替える

全部入れたら動いた。
では、消していくことにする。

PHP Development Tools (PDT) SDK Feature
Rich Ajax Platform SDK (RAP)
JST Server Adapters Ver.3.1.0
JST Web UI
JST Server UI
JST Server Adapters Ver.3.1.1
Eclipse Faceted Project Framework JDT Enablement
Eclipse Faceted Project Framework
WST Server Adapters

結局、全部消したのに大丈夫。なんでだろう?
Eclipse のプラグイン・アンインストールってどうなってんの?

しかし、”Web, XML, and Java EE Development”のプラグインを全部入れるって解決法では、納得いかんなぁ

しかたがないので、Eclipse を消して、再チャレンジ
なんども消して、ようやく分かった!!
JST Web UI
を入れれば NullPointerException がでなくなる。
まあ、それ以外の動作がどうなるかは・・・
追って調査することにする。

疲れたので、この件はここまで