# XDoclets immer noch nötig?



## miketech (11. Okt 2006)

Hi zusammen,

ich sitze grad vor nem JBoss Tutorial und kämpfe mich durch. Eigentlich will ich ja nur was kleines basteln, möchte daher primär auf Servlets und JSP setzen, aber ich arbeite mit der JBoss IDE und möchte daher mal das Tutorial durchspielen.

Jetzt wird hier viel mit XDoclets gearbeitet. Benötigt man das eigentlich immer noch? Bei EJBs gibts ja nun viel mit Annotations. Werden XDoclets irgendwann dann komplett rausfliegen?

Mein Tutorial macht damit nämlich sehr sehr viel und das ist auch sehr mühsam  Ich möchte ja nur meine paar Servlets und JSPs richtig deployen. Aber selbst das ist kein Kinderspiel. Möchte das auch nicht zu einfach haben, damit ich es lerne. In der JBoss IDE kann man XDoclets sehr bequem einsetzen, man müsste nur wissen,w as man da eigentlich tut 

Gruß

Mike


----------



## mutex (11. Okt 2006)

Danke  *handschüttel*

Genau an diesem Stolperstein war ich auch angelangt - und ich habe nichts konkretes gefunden: Also die XDoclets 1.x machen bei mir die Grätsche - wenn ich z.B. Generics in Java verwende, scheint's vorbei zu sein mit XDoclet. XDoclet 2 ist noch nicht fertig / wird in Eclipse noch nicht unterstützt ... keine Ahnung ... oder wie ist das? Also mir sind die Annotations sehr symphatisch (wie in EJB3 zu sehen). Ich hab was entsprechendes für die Taglibs (die TLD's) gesucht: Dachte, daß könnte man auch schön über Annotations machen - aber gefunden (übliche Annotations für Taglibs, Ant-Tasks oder sonstirgendwiesowas) hab ich nix.

Ich würde z.Zt. (und mit meinem Halbwissen) von XDoclet eher abraten und es direkt mit Annotations und Ant versuchen: Kannst mir dann Bescheid geben, wenn du weißt wie's geht


----------



## miketech (11. Okt 2006)

Hi,

also ich habe mir jetzt noch JBoss Seam (Framework von JBoss für Webentwicklung auf Basis von EJBs und JSF) angeschaut und da habe ich nichts mehr mit XDoclets gefunden. Alles nur noch mit Annotations. Kann ja sein, dass die XDoclets ja irgendwann überflüssig werden. Ich kanns nicht beurteilen, inwieweit Annotations alles von XDoclet abdecken.

Bis überall Annotations Einsatz finden wirds aber sicher dauern, weil XDoclet scheinen sich bewährt zu haben und alles umzubasteln braucht sicher ein Weilchen. Mir gefallen Annotations aber auch deutlich besser, als XDoclets.

Gruß

Mike


----------



## mutex (11. Okt 2006)

Ich denke auch, daß es immer mehr mit Annotations gemacht werden wird: Aber mir scheint, daß die unterstützung (z.B. in Exlipse/WTP) noch nicht allzu weit gediehen ist, aber auf der anderen Seite XDoclet (1.x) mit Java 1.5 nicht klar kommt ...

Auf der anderen Seite wird auch XDoclet bestimmt weiterhin seine Daseinsberechtigung haben: Man hat dadurch die Möglichkeit, quasi "Annotations" alleine für's Preprocessing zu machen - man kann ja werweißwasalles hilfreiches in seinen Code schreiben, aber ob man daß dann auch alles irgendwo im Bincode stehen haben will?! Und ich denke mal, die Java-Annotations werden dort irgendwo landen, oder?!?


----------



## miketech (11. Okt 2006)

Hi,

naja die Unterstützung durch die IDEs ist eh noch so ne Sache. Ich vergleiche das ja immer gerne mit ASP.NET und Visual Studio. ASP.NET ist wie JSF imho und das ganze ist sicher auch nicht leicht, wenn man das alles per Hand konfigurieren müsste. Aber VS 2005 nimmt einem soviel ab, dass man nur noch bißchen klicken muss und alles geht.

Und Du hast natürlich recht, daran habe ich nicht gedacht: Annotations landen im Code, weil sich diese ja durch Reflection abfragen lassen. Die Frage ist dann aber auch, ob wirklich irgendwann bei JEE alle XDoclet Einsatzzwecke durch Annotations ablösen lassen, bzw. ob das überhaupt Sinn macht. Da frage ich mich, ob das bei EJB3 schon Sinn macht, oder ob man das auch mit XDoclet hätte einfacher machen können, als es war. Aber bei JBoss Seam kommen wie gesagt überhaupt keine XDoclets mehr zum Einsatz.

Persönlich habe ich von XDoclet sonst keine Ahnung. Ich weiß nicht, wie man damit umgeht, ich weiß nur, wie ich in Eclipse bißchen was einstellen kann. Irgendwie reizt es mich bisher nicht unbedingt. Interessant wäre es höchstens, wenn man ein großes Projekt hat und selbst eigene Doclets einführt und diese vorher verarbeitet mit XDoclet. Aber wie das nun wieder geht...

Das Problem ist bei JEE auch: Hier kommen soviele XDoclets zum Einsatz, dass ich gar keinen Überblick bekomme, was ich wann wofür brauche. Und in jedem Tutorial kommen neue dazu.

Ich kann dazu eigentlich gar nichts sagen, weil ich kaum Ahnung habe, aber ich tus trotzdem mal 

Gruß

Mike


----------



## Gast (17. Okt 2006)

Ob eine Annotation in der Binärdatei erhalten bleibt, kannst du selbst entscheiden, zumindest wenn du selbst Annotationen definierst. Dazu annotierst du die Definition deiner eigenen Annonation einfach mit einer vorhandenen Annotation (java.lang.annotation.Retention), wobei es drei Möglichkeiten gibt:

@Retention(SOURCE): Nur im Sourcecode vorhanden, wird vom Compiler entfernt.
@Retention(CLASS) - Voreinstellung: In der Binärdatei vorhanden, aber _kein_ Zugriff (über Reflection) zur Laufzeit.
@Retention(RUNTIME): In der Binärdatei vorhanden und Zugriff via Reflection zur Laufzeit _möglich_.


----------



## miketech (17. Okt 2006)

Hi,

das ist ja super, das wußte ich nicht. Aber was bringt es, wenn die Annotation in der Binärdatei ist, ich aber nicht via Reflection darauf zugreifen kann? 

Gruß

Mike


----------

