// 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 [[WTP>J2EE/Eclipseで開発する]]を使って開発をすると、JBossへデプロイすることができるだけでなく、jboss.xmlやjboss-web.xml,web.xmlやejb-jar.xmlを自動生成することができます。さらにはEJBの実装クラスを作成するだけで、めんどくさいその他のインタフェースファイルなども自動生成することができます。自動生成にはXDocletという、JavaDocコメントから各種設定ファイルを生成するツールが使われています。 **準備 [#j48c717b] 今回はJBossの環境を主においているので、JBossの設定ファイルを自動生成する用に設定しました。設定といっても簡単で、Eclipse上で、 ウィンドウ > 設定 >> J2EE注釈 >> XDoclet でXDocletのホームディレクトリなどを入れておくだけです((XDocletはあらかじめダウンロードしてどっかに解凍しておきましょう。))。 JBossなどコンテナ依存の設定ファイルは、更に下の XDoclet >> ejbdoclet XDoclet >> webdoclet などのチェックを入れておけばよいようです。 #ref(xdoclet.png) **web.xmlの自動生成 [#ma3ff33e] Servletのクラスコメントに以下のように書きました。 /** * Servlet implementation class for Servlet: HogeServlet * * @web.servlet name="HelloServlet" display-name="HelloServlet" * * @web.servlet-mapping url-pattern="/hello" * @web.ejb-ref name = "ejb/HelloEJB" home = "hello.HelloEJBHome" remote = * "hello.HelloEJB" type = "Session" * @jboss.ejb-ref-jndi jndi-name = "HelloEJBHoge" ref-name = "ejb/HelloEJB" */ ***Servletの設定の出力 [#h1ba1bd8] このうち @web.servlet name="HelloServlet" display-name="HelloServlet" @web.servlet-mapping url-pattern="/hello" の部分で、 <servlet> <servlet-name>HelloServlet</servlet-name> <display-name>HelloServlet</display-name> <servlet-class>hello.web.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> というweb.xmlが出力されます。 ***ejb-refの出力 [#ie8d8902] @web.ejb-ref name = "ejb/HelloEJB" home = "hello.HelloEJBHome" remote = "hello.HelloEJB" type = "Session" これは <ejb-ref > <ejb-ref-name>ejb/HelloEJB</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>hello.HelloEJBHome</home> <remote>hello.HelloEJB</remote> </ejb-ref> となります。 **jboss-web.xmlの自動生成 [#f49a574f] また先の @jboss.ejb-ref-jndi jndi-name = "HelloEJBHoge" ref-name = "ejb/HelloEJB" の部分で、 <ejb-ref> <ejb-ref-name>ejb/HelloEJB</ejb-ref-name> <jndi-name>HelloEJBHoge</jndi-name> </ejb-ref> というjboss-web.xmlが出力されます。 **ejb-jar.xmlの自動生成 [#e4eec02f] **jboss.xmlの自動生成 [#u20de1cd] ---- この記事は #vote(おもしろかった,そうでもない) #comment #topicpath SIZE(10){現在のアクセス:&counter;}