85 :
デフォルトの名無しさん:04/01/13 07:02
Web+DB PRESSあげ
86 :
デフォルトの名無しさん:04/04/14 00:31
XDocletムズいっていってたが
Eclipse + JBoss + JBoss IDE or Lomboz
のおかげで以外と楽になったかも。
つうか、このスレの1は神。
日付みて思った。
スレ発見記念age & マルチ
XDocletで、Servlet2.4のweb.xmlを生成するには、どうしたらいいですか?
89 :
デフォルトの名無しさん:04/07/27 18:40
ageてねぇや
90 :
デフォルトの名無しさん:04/07/27 19:27
EclipseとApache Mavenのお陰でXDocletの生成も楽になるのかな?
91 :
デフォルトの名無しさん:04/10/04 14:37:40
SGenで。
>>93 ライセンスどころか、あの人自体がわからないね。
「おたく」って・・・
実際にはXDoclet2がちゃんと表に出てきたら話に登らなくなるでしょ。
>>94 XDoclet2が使えるレベルになるまでは相当かかるんじゃない?
1.2系のXJavadoc/XDTベースのモジュールが全く使えなくなるわけだし。
今あるモジュール全てをVelociry/Jellyベースのモジュールとして作成しなおすのは結構時間かかるかと。
>>95 Web/Struts/Hibernate/EJBくらいが使えれば、とりあえず文句はない。
jdk1.5の新機能さんたちを使ってると
エラーが出ちゃってxdocletが使い物にならん・・・・
こまったにゃぁ〜
>>97 エラーが出る部分はXDocletの対象からはずす。
サーブレットやらStrutsのActionやらに、新文法が便利だと思えるような処理を書くなという親心だ。
>>98 Actionには書かなくても済みそうだけど
Hibernate使ってるんでそっちが大変そう
新文法楽チンで良いのになぁ今回はあきらめて1.4でやるか・・・
>>99 Hibernateのマッピングコードにも処理書かなくていいでしょ。
101 :
デフォルトの名無しさん:04/10/27 04:31:41
1.2.2アゲ
これでservlet2.4やらstruts1.2のdtd定義が使える
しかし、ほとんどのミラーにファイルがないのはいかがなものか。
sourceforge、ミラーの順番が表示のたびにかわるから、どこまで試したかわからんし
VOXROXにミラーされてたよ。
なんで一週間近くも他はミラーされてないんだ?
1.2系のバグフィックスよりも、さっさと2.0系だしてほしい。
既存のモジュールをいじったり、
カスタムテンプレートやモジュール作るときにもうXDTをいじりたくない・・・
webdoclet にて・・・
あるサーブレットAから拡張したサーブレットBがあるとします。
A、B両サーブレットそれぞれ以下のように xdoclet タグを記述しています。
◆ サーブレットA ◆
@web.servlet name="ServletA"
@web.servlet-mapping url-pattern="/servletA"
◆サーブレットB ◆
@web.servlet name="ServletB"
@web.servlet-mapping url-pattern="/servletB"
このような状況で webdoclet を走らせると以下のような web.xml が生成されます。
◆ 生成された web.xml ('servlet-mapping'のみ抜粋) ◆
<servlet-mapping>
<servlet-name>ServletB</servlet-name>
<url-pattern>/servletB</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletB</servlet-name>
<url-pattern>/servletA</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletA</servlet-name>
<url-pattern>/servletA</url-pattern>
</servlet-mapping>
次レスへ・・・
>>108の続き
御覧のように、こちらが期待していない、
<servlet-mapping>
<servlet-name>ServletB</servlet-name>
<url-pattern>/servletA</url-pattern>
</servlet-mapping>
のような 'なんだこりゃ?' 的なマッピングが生成されてしまいます・・・。
思うに、サーブレットA、B間の継承関係を考慮して xdoclet がこのような妙な出力を行ったのではないかと。
質問なんですが、これってバグなんでしょうか?
それともこういう仕様なんでしょうか?
回避の方法ご存じないでしょうか?
以上です。よろしくお願いします。
age させていただきます。
>>108 継承が云々ではなく、単にXDTテンプレートの記述に問題があるだけみたい。
xdoclet-web-module-1.2.2.jarの中にあるXDTテンプレートweb_xml.xdtで
サーブレットマッピングを出力している箇所は以下のようになってる。
<XDtClass:forAllClasses>
<XDtClass:forAllClassTags tagName="web:servlet-mapping">
<servlet-mapping>
<servlet-name><XDtClass:classTagValue tagName="web:servlet" paramName="name"/></servlet-name>
<url-pattern><XDtClass:classTagValue tagName="web:servlet-mapping" paramName="url-pattern"/></url-pattern>
</servlet-mapping>
</XDtClass:forAllClassTags>
</XDtClass:forAllClasses>
外側のforAllClassesが余計なので、
自分でXDTテンプレート修正して差し替えたらOK。
もし、jarファイルの中身を差し替えるのがナニというなら、
とりあえず一回jarファイルからXDTテンプレートファイルをとりだして修正し、
そのあとbuild.xmlでdeploymentdescriptorサブタスクを定義するときに
<deploymentdescriptor templatefile="修正したXDTテンプレートファイル"/>
みたいに指定すれば、jarファイルの中に格納されているやつではなく
templatefile属性で指定したテンプレートファイルで処理が実行されるので
これでも上記の問題は解決できる。
あとの解決方法は、
動的にサーブレットマッピング部分生成するのをやめて
マージファイル(servlet-mappings.xml)を用意するくらいかな。
113 :
デフォルトの名無しさん:04/12/29 09:51:17
最近XDocletの使い方を理解した。
EclipseではJBoss-IDEを使うとコードアシスト機能が使えて便利だ。
web.xmlやstrutsやHibernateやCMP Emtit Bean関係のクラス自動生成のほかに
UMLにも使えるだってね。
これは面白い。
build.xmlにtaskdefを使うのがどうも奇妙な気がするが。
あとはMavenをうまく使えばXDocletの利用ももっと簡単になるのかな?
>>113 taskdef書くのは別に変じゃないよ。Antの標準タスクに含まれない以上、
それをクラスパスに入れて、taskdef書くのは必須な作業だし。
Mavenで使うにもtaskdefは必要になる。
<preGoal name="java:compile">
<attainGoal name="xdoclet:doclet"/>
</preGoal>
<goal name="xdoclet:doclet">
<attainGoal name="xdoclet:ejbdoclet"/>
</goal>
<goal name="xdoclet:ejbdoclet">
<mkdir dir="${maven.xdoclet.ejbdoclet.destDir}"/>
<taskdef name="ejbdoclet"
classname="xdoclet.modules.ejb.EjbDocletTask"
classpathref="maven.dependency.classpath"/>
<ejbdoclet destDir="${maven.xdoclet.ejbdoclet.destDir}"
ejbSpec="${maven.xdoclet.ejbdoclet.ejbspec}" ...>
...
</ejbdoclet>
<path id="ejbdoclet.java.compile.src.set" location="${maven.xdoclet.ejbdoclet.destDir}"/>
<m:addPath id="maven.compile.src.set" refid="ejbdoclet.java.compile.src.set"/>
</goal>
こんな感じ。
そうだったのか。
goalを自作しているのか
「LookupDispatchAction」を継承したActionクラスに
@struts.action を記述しても struts-config.xml に
反映されないのは仕様でしようか?
↑ベテランさん教えてください。
>>116 他のActionは吐かれてくるの?
ありがちな間違いだとタスクのfilesetに入れ忘れとか。
XDocletでstruts-config.xml作った事ないから知らんけど。
クラスの継承元でフィルタされるって事はなさそうかな。
>>118 どうも♪
「org.apache.struts.action.Action」では正常に動作することを
確認しています。また、build.xmlの該当箇所を穴の開くほど何度
もにらみ続けたのでfilesetの入れ忘れはないです。
>>クラスの継承元で・・・
あぅ、勉強不足でわからないです、これ。
とりあえずは対応するマージファイル「struts-actions.xml」に
設定を直書きすることでことなきを得ております・・・が、これじゃ
せっかくXDocletを使ってても全然クールじゃないですねぇ。
仕様だったらしようがないですが。残念。
XDocletの仕様を考えると、Actionクラスを継承したクラスはstruts-configの種にしてくれるはずだけど。
ドキュメンテーションコメントになっていないとかがありがちなミスだな。
動きました!!
DispatchAction, LookupDispatchAction, ...etc.
すばらしい!!
惚れ直したぜXDoclet!! ビバ!XDoclet!!
Soooo Coooooool!!
というのは、J2SE5を使わないからいえる話で。
アノテーションとか入ったら全然だめ。
まあアノテーションが本格的に使われるようになったら
XDocletの機能もアノテーションで実装されるようになるだろ。
なんか、そーとー前からいってるのに2.0って動きがないんだよねぇ。
バナーコンテストやってたくらいしか。
125 :
デフォルトの名無しさん:2005/04/18(月) 23:06:10
XDoclet 1.2.3 リリース上げ
「Latest bug fix release, plus enhancements to various modules.」
ってことだから、そろそろ2.x系が本格的になるのかな?
>>124 CVSは動いてるみたいなんだけどね。
126 :
デフォルトの名無しさん:2005/05/15(日) 01:29:46
age
build.xmlファイルのサンプルは付属もの以外にどこかあるでしょうか?
ant走らせるとエラー、そのままもう一度実行すると、
情報: Running <remoteinterface/>
とか出るのに生成はされず。もう一度実行するとコード生成される状況です。
128 :
127:2005/07/10(日) 17:29:40
現象がよくわからないので、また来週やってみまつ。
xdocletとアノテーションとbackport175についてエロい人語ってみてください
アノテーション・・・標準。記述力が高い。コンパイルだけで使える。J2SE5以降じゃないと使えない。
backport175・・・標準に近い。Genericsと組み合わせれない。引数アノテーションが使えない。コンパイル以外に処理が必要。J2SE1.4以前で使える。
XDoclet・・・非標準。実行時情報としては使えない。XDTは非常に書きづらい。時代遅れ。しかし先駆け。歴史的価値。J2SE1.4以前で使える。J2SE5の文法と同時に使えない。
>>127 Eclipse3.1から追加された
antデバッグを使ってみるとええんじゃねえの?
132 :
デフォルトの名無しさん:2005/12/03(土) 17:57:25
っていうかXDocletがJava SE % Tigerの
アノテーションに対応しているかどうかの
ほうが重要だと思うんだけど。
XDoclet2用のJBossプラグインって誰も作ってないの?
134 :
デフォルトの名無しさん:
XどきゅれっとがJAVAを救う!
とうわけで保守AGE