# Konfigurationsalbtraum (speziell jee 6 / seam 3)



## JanHH (23. Mai 2011)

Hallo,

ich stelle immer wieder fest (gehts eigentlich nur mir so oder auch anderen Usern?), dass das Arbeiten mit all den modernen web-Frameworks immer einfacher und angenehmer wird, es aber nach wie vor häufig ein ziemlicher Krampf ist, überhaupt erstmal ein Projekt-Grundgerüst zu bekommen, welches man mit einer IDE bearbeiten (ob Eclipse oder NetBeans ist mir da im Zweifel egal), übersetzen und deployen kann, und wo dann auch wirklich alles funktioniert.

Der Grund hierfür ist meiner Meinung nach, dass diese ganzen Sachen von diversen Anbietern kommen, alles open source ist, und nicht so recht ein rundes ganzes "aus einem Guss" vorliegt, wie es bspws. bei einem kommerziellen Produkt der Fall wäre. Man muss sich also mit jeder Menge individueller einzel-Konfigurationen (ant, maven, jpa, hibernate, jsf, ejb etc.) auseinander setzen und nix davon klappt auf Anhieb so richtig, geschweige denn das Zusammenspiel aller Komponenten auf Anhieb. Die ganzen Projekt-Wizards von Eclipse funktionieren fast alle nicht oder nur mit diversen Fallstricken und Fehlermeldungen, mit denen man als nicht-Profi auf dem Gebiet oft nur wenig anfangen kann (z.B. kann man problemlos mit Eclipse Helios ein JSF 2.0-Projekt anlegen, welches den Import "@ManagedBean" nicht auflösen kann).

Gelungen finde ich seam 2 und seam-gen, hier bekommt man tatsächlich ein Projekt-Grundgerüst inklusive IDE-Anbindung, es ist vollständig und funktionert fast "out of the box". Nun würde ich aber gerne mal mit seam 3 arbeiten, hier sieht die Lage schon wieder ganz anders aus. Man muss sich erstmal mit maven vertraut machen, fürs setup gibts "seam forge" (aber was genau ein von forge generiertes Grundgerüst alles kann und was nicht wird nicht erwähnt), forge wird als universelles, allgemeines setup-Tool beschrieben, aber ohne Dokumentation wie man das überhaupt konfiguriert und bedient (oder ich hab sie nicht gefunden, ist da jemand schlauer?), zu den diversen Modulen wird gesagt, man könne sie in die Webanwendung einbinden, aber WIE man das macht wird nicht genau beschrieben, und selbst wenn mans hinbekommt klappts mit dem deploy nicht, der CDI-Container will nicht aber wie man den bzw. Weld konfiguriert/ins Projekt integriert (und ob das überhaupt notwendig ist oder schon teil von seam 3) wird auch nicht erwähnt. Es wird allgemein viel Vorwissen vorausgesetzt und ich finde mal wieder, dass man als "Konfigurations-Anfänger" hier quasi zwangsläufig scheitern muss.

Was also tun? Warten bis die jboss tools soweit sind dass es für seam3 wizards gibt, die funktionsfähige Projekte liefern und auch alle Module einzeln zur Auswahl/Integration anbieten? Oder wie oder was? Hat es schonmal jemand geschafft, ein seam3-Projekt aufzusetzen? Und wann ja dann wie?

Gruß+Danke
Jan


----------



## JanHH (23. Mai 2011)

Scheint mir sehr interessant:

http://javathreads.de/2011/05/tutor...-helios-und-mit-maven-unterstuetzung-starten/


----------



## musiKk (23. Mai 2011)

Kann es sein, dass das oft mit den Server Adaptern zusammenhängt? Mit Eclipse und GlassFish 2.1 hatte ich solche Probleme jedenfalls noch nicht und wenn doch, dann nur, weil Eclipse aus irgendeinem Grund mal wieder die Zuordnung zwischen Projekt und Server verhauen hat.


----------



## JanHH (23. Mai 2011)

Aber mit Glassfish 2.1 hast Du sicher kein seam 3-Projekt hinbekommen ;-).

Bin bei seam 3 jetzt etwas weiter, die forge-Doku scheint sich seit meinen letzten Blick darauf auch etwas erweitert zu haben, mittlerweile hab ich sowas wie ein lauffähiges Projekt-Grundgerüst (falls jemand Fragen hat, nur zu..). Bei Jee6/seam3 ist das Hautpproblem wohl einfach, dass das alles noch so neu ist dass die entsprechenden Tools noch nicht so weit sind. Seam forge z.B. ist noch in der Alpha-Version.


----------



## Deadalus (24. Mai 2011)

Von Seam habe ich keine Ahnung, allerdings von JEE 6. 
Angefangen hab ich mit JEE 6 quasi am Tag als es released wurde. Mein ziel war eine EAR Applikation zum laufen zu bringen: 

Mein 1. Versuch war mit Eclipse: 

riesiger Krampf, sehr viele seltsame Hacks waren nötig, Code Completion und selbst Syntax Highlighting in vielen Bereichen einfach nicht vorhanden und über die Anbindung zu Glassfish 3 will ich gar nicht reden, die war zum dem Zeitpunkt einfach nicht vorhanden. Außerdem haben mich die ganzen Plugins einfach überfordert, die aber eigentlich alle für alte JEE Versionen waren und definitiv alles schwieriger gemacht haben. 

2. Versuch Netbeans
Glassfish wurde mit installiert , mit dem Wizard eine EAR Anwendung erstellt,  JSF als Webframework gewählt, auf run gedrückt, Browser mit Hello World öffnet sich. Fertig!

Mittlerweile hat Eclipse natürlich aufgeschlossen und viele Sachen funktionieren jetzt besser, meiner Meinung nach ist Eclipse  aber im JEE 6 Bereich immer noch keine Konkurrenz. 

Ich kann also nur raten sich die richtigen Werkzeuge auszusuchen und auch zu wechseln wenn ein anderes besser geeignet ist.


----------



## JanHH (25. Mai 2011)

Ich finde NetBeans auch besser, was die Wizards angeht. Meine ersten JSF-Gehversuche hab ich auch mit NetBeans gemacht, mit eclipse auch gescheitert (und ich bin auch nicht allzu motiviert, mich da lange mit rumzuschlagen, wenns nicht gleich funktioniert).

Mein Seam3-Projekt (war) hab ich nun zum Laufen gekriegt, allerdings ist das bisher auch nix anderes als ein JEE6-Projekt mit JSF 2.0, JPA 2.0 und CDI/Weld. Aber gefällt mir gut. JEE 6 kommt mir wesentlich runder und eleganter und entschlackter als die Vorgängerversion vor. Und es ist so wie es ist gut brauchbar, ohne weitere Frameworks drumrum,. JEE5 ohne seam ist ja eher furchtbar. JEE 6 ist gut so wies ist. Das ist zumindest so mein erster Eindruck. Leistungsfähige DI mit Weld, @PersistenceContext steht "einfach so" überall zur Verfügung, angenehm leichtgewichtig und nicht tausend extra jars notwendig.


----------



## Deadalus (25. Mai 2011)

JanHH hat gesagt.:


> Aber gefällt mir gut. JEE 6 kommt mir wesentlich runder und eleganter und entschlackter als die Vorgängerversion vor. Und es ist so wie es ist gut brauchbar, ohne weitere Frameworks drumrum,. JEE5 ohne seam ist ja eher furchtbar. JEE 6 ist gut so wies ist. Das ist zumindest so mein erster Eindruck. Leistungsfähige DI mit Weld, @PersistenceContext steht "einfach so" überall zur Verfügung, angenehm leichtgewichtig und nicht tausend extra jars notwendig.



Dem kann ich voll und ganz zustimmen! JEE 5 hat die Richtung gezeigt und mit vielen Altlasten gebrochen. 

Mit JEE 6 ist jetzt alles vorhanden was man für die Entwicklung großer Projekte braucht. Auch JPA 2.0 ist ein riesiger Schritt nach vorne. Endlich muss man nicht mehr auf die darunterliegenden Frameworks zugreifen wenns knifflig wird. CDI möcht ich nicht mehr missen und freu mich, dass es wie JPA auch in JSE Projekten zur Verfügung steht.


----------



## JanHH (27. Mai 2011)

ein bisschen schade ist aber, dass man das mysteriöse geheimwissen verliert.. was vorher nur die mitglieder des magischen zirkels mit seam oder spring konnten, ist nun java-standard und steht jedem hinz und kunz zur verfügung . Man muss da umdenken, was status und prestige angeht. Aber ist auf jeden Fall ein Schritt in die richtige Richtung.


----------



## ARadauer (27. Mai 2011)

JanHH hat gesagt.:


> ein bisschen schade ist aber, dass man das mysteriöse geheimwissen verliert.. was vorher nur die mitglieder des magischen zirkels mit seam oder spring konnten, ist nun java-standard und steht jedem hinz und kunz zur verfügung .


:lol::lol: ha wie geil!


----------

