<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>javathreads.de &#187; JBoss Tools</title>
	<atom:link href="http://javathreads.de/tag/jboss-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://javathreads.de</link>
	<description>Blog rund um Java und Web Entwicklung</description>
	<lastBuildDate>Wed, 02 Nov 2011 10:37:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutorial: Mit Java EE 6 unter Eclipse Helios und mit Maven Unterst&#252;tzung starten</title>
		<link>http://javathreads.de/2011/05/tutorial-mit-java-ee-6-unter-eclipse-helios-und-mit-maven-unterstuetzung-starten/</link>
		<comments>http://javathreads.de/2011/05/tutorial-mit-java-ee-6-unter-eclipse-helios-und-mit-maven-unterstuetzung-starten/#comments</comments>
		<pubDate>Fri, 13 May 2011 21:47:07 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[CDI]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[Java EE 6]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=2557</guid>
		<description><![CDATA[Ziel des Tutorials
Am Ende dieses Tutorials ist ein deploytes Java EE 6 Projekt mit JSF 2, CDI, EJB 3.1 und JPA 2 auf dem JBoss 6 vorhanden und aufrufbar. Dabei wird die Eclipse WTP Untest&#252;tzung funktionieren, der JBoss direkt aus Eclipse heraus gestartet und Maven als Build Tool verwendet werden.



Kleine Anmerkung vorab: Nicht von der [...]]]></description>
			<content:encoded><![CDATA[<h3>Ziel des Tutorials</h3>
<p>Am Ende dieses Tutorials ist ein deploytes Java EE 6 Projekt mit JSF 2, CDI, EJB 3.1 und JPA 2 auf dem JBoss 6 vorhanden und aufrufbar. Dabei wird die Eclipse WTP Untest&#252;tzung funktionieren, der JBoss direkt aus Eclipse heraus gestartet und Maven als Build Tool verwendet werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseWTPHotDeploymentBrowser.jpg" alt="" title="Eclipse WTP Hot Deployment - Browser" width="630" height="233" class="alignnone size-full wp-image-2768" />
</div>
<p>Kleine Anmerkung vorab: Nicht von der L&#228;nge des Tutorials abschrecken lassen &#8211; es sind eigentlich nur sehr viele Bilder. Kennt man die Technologien und Tools dauert das Erstellen dieses Projekts nur wenige Minuten.</p>
<p>Aufbau des Tutorials:</p>
<ul class="gliederung">
<li>
<a href="#SoftwareUndTools">Herunterladen der notwendigen Software und Tools</a></p>
<ul class="subGliederung">
<li><a href="#SoftwareUndToolsEclipse">Eclipse herunterladen<a/></li>
<li><a href="#SoftwareUndToolsJBoss">JBoss AS herunterladen</a></li>
<li><a href="#SoftwareUndToolsMaven">Maven herunterladen</a></li>
</ul>
</li>
<li><a href="#EclipseKonfigurieren">Eclipse konfigurieren</a>
<ul class="subGliederung">
<li><a href="#EclipseKonfigurierenJBossTools">JBoss Tools</a></li>
<li><a href="#EclipseKonfigurierenJBossServerRuntime">JBoss 6 AS Server Runtime</a></li>
<li><a href="#EclipseKonfigurierenMaven">Maven</a></li>
<li><a href="#EclipseKonfigurierenMavenExtrasWTP">Maven Extras &#8211; WTP </a></li>
</ul>
<li><a href="#JavaEE6Project">Java EE 6 Projekt erstellen</a>
<ul class="subGliederung">
<li><a href="#JavaEE6ProjectMaven">Projekt mit Maven generieren</a></li>
<li><a href="#JavaEE6ProjectEclipseJSF">JSF Capabilities hinzuf&#252;gen</a></li>
<li><a href="#JavaEE6ProjectEclipseCDI">CDI Support hinzuf&#252;gen</a></li>
<li><a href="#JavaEE6ProjectProjektDeployen">Projekt auf den JBoss deployen</a></li>
</ul>
</li>
<li><a href="#WieGehtEsWeiter">Wie geht es weiter?</a></li>
</ul>
<h3><a name="SoftwareUndTools" class="noLink">Herunterladen und Installieren aller ben&#246;tigten Software und Tools</a></h3>
<h4><a name="SoftwareUndToolsEclipse" class="noLink">Eclipse Helios f&#252;r Java EE Entwicklung herunterladen</a></h4>
<p>Als erstes wird Eclipse in der Java EE Entwickler Version von <a href="http://www.eclipse.org/downloads" title="Eclipse Helios f&#252;r die Java EE Entwicklung">eclipse.org</a> heruntergeladen.</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads" title="Eclipse Helios f&#252;r die Java EE Entwicklung"><img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseHeliosJeeDownload.png" alt="" title="Eclipse Helios f&#252;r die Java EE Entwicklung" width="630" height="143" class="borderGray alignnone size-full wp-image-2566" /></a>
</div>
<p>Das heruntergeladene Archiv am Ort deiner Wahl entpacken &#8211; z.B. einfach im Laufwerk C.</p>
<h4><a name="SoftwareUndToolsJBoss" class="noLink">JBoss AS 6</a></h4>
<p>In diesem Tutorial wird der JBoss 6 Final als Application Server verwendet denn dieser implementiert die <a href="http://javathreads.de/2010/01/java-ee-6-web-profile-technologien">Java EE Web Profile</a> Spezifikation. Der JBoss AS kann unter <a href="http://www.jboss.org/jbossas/downloads.html" title="JBoss Application Server 6 Final">jboss.org</a> heruntergeladen werden.</p>
<div class="singleImgDiv">
<a href="http://www.jboss.org/jbossas/downloads.html" title="JBoss Application Server 6 Final"><br />
<img src="http://javathreads.de/data/uploads/2011/05/1105_JBossAs6Download.png" alt="" title="JBoss Application Server 6 Final" width="630" height="129" class="borderGray alignnone size-full wp-image-2569" /><br />
</a>
</div>
<p>Nach dem Herunterladen das Archiv auch wieder am Ort deiner Wahl entpacken &#8211; kann z.B. auch wieder das Laufwerk C: sein.</p>
<h4><a name="SoftwareUndToolsMaven" class="noLink">Maven 3</a></h4>
<p>Um den Projektstart zu vereinfachen und alle Abh&#228;ngigkeiten automatisch zu beziehen wird Maven 3 verwendet. Sp&#228;ter wird auch das Grundger&#252;st unseres ersten Java EE Hello World Projekts mit Maven generiert. Somit muss Maven 3 &#8220;installiert&#8221; werden. Maven kann von <a href="http://maven.apache.org">http://maven.apache.org</a> heruntergeladen werden:</p>
<div class="singleImgDiv">
<a href="http://maven.apache.org/download.html"><img src="http://javathreads.de/data/uploads/2011/05/1105_Maven303Download.png" alt="" title="Maven 3.0.3" width="630" class="alignnone size-full wp-image-2622" /></a>
</div>
<p>Maven muss auch wieder an einem Ort deiner Wahl entpackt und anschlie&#223;end das <code>maven/bin</code> Verzeichnis im Pfad (Umgebungsvariable <code>PATH</code>) angegeben werden damit der Befehl <code>mvn</code> in der Kommandozeile gefunden wird.<br />
<br/>Installationsanleitung f&#252;r Linux (Ubunutu 11.04) <span id="mavenAnleitungLinuxDivLink" class="link" onclick="javascript:showMavenLinuxInstall()">anzeigen</span>.</p>
<div id="mavenAnleitungLinuxDiv" style="display:none">
Weil Maven 3 bisher noch nicht im Package Repository vorhanden ist muss es von Hand installiert werden.<br />
Herunterladen und entpacken der letzten Version:</p>
<div class="codebox">
$ cd /home/&lt;myusername&gt;<br />
$ wget http://ftp.heanet.ie/mirrors/www.apache.org/dist//maven/binaries/apache-maven-3.0.3-bin.tar.gz<br />
$ tar -xzvf apache-maven-3.0.3-bin.tar.gz
</div>
<p>Nach <code>/usr/local</code> kopieren:</p>
<div class="codebox">
$ sudo mkdir /usr/local/apache-maven<br />
$ sudo cp -R apache-maven-3.0.3 /usr/local/apache-maven/
</div>
<p>Anschlie&#223;end muss dieser Maven Ordner noch mit in die Pfad-Umgebungsvariable aufgenommen werden. In diesem Schritt werden gleich noch weitere ben&#246;tigte Umgebungsvariablen definiert:</p>
<div class="codebox" style="margin-top: 5px;">
$ sudo vi /etc/environment
</div>
<p>Neue Umgebungsvariablen hinzuf&#252;gen:</p>
<div class="codebox">
JAVA_HOME=/usr/lib/jvm/java-6-sun<br />
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.3<br />
MAVEN_HOME=/usr/local/apache-maven/apache-maven-3.0.3<br />
M2=/usr/local/apache-maven/apache-maven-3.0.3/bin
</div>
<p>Und die Variable PATH noch um folgenden Pfad erweitern:</p>
<div class="codebox">
/usr/local/apache-maven/apache-maven-3.0.3/bin
</div>
<p>Sieht bei mir anschlie&#223;end so aus:</p>
<div class="codebox">
PATH=&#8221;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/apache-maven/apache-maven-3.0.3/bin&#8221;
</div>
<p>Nach einem erneuten Login in der Konsole pr&#252;fen ob Maven l&#228;uft:</p>
<div class="codebox">
markus@Lap:~$ mvn -version<br />
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)<br />
Maven home: /usr/local/apache-maven/apache-maven-3.0.3<br />
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.<br />
Java home: /usr/lib/jvm/java-6-sun-1.6.0.24/jre<br />
Default locale: de_DE, platform encoding: UTF-8<br />
OS name: &#8220;linux&#8221;, version: &#8220;2.6.38-8-generic&#8221;, arch: &#8220;i386&#8243;, family: &#8220;unix&#8221;
</div>
</div>
<h3><a name="EclipseKonfigurieren" class="noLink">Eclipse konfigurieren</a></h3>
<p>Zuvor wurde bereits die  die aktuelle  Eclipse Helios (3.6) Java EE IDE heruntergeladen sowie entpackt und diese sollte sp&#228;testens jetzt gestartet werden. Beim ersten Start von Eclipse wir gefragt wo man seinen Workspace hinlegen m&#246;chte. Wieder einfach einen Ort deiner Wahl angeben und das H&#228;ckchen bei &#8220;nicht noch einmal fragen&#8221; setzen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseHeliosJeeAbout.jpg" alt="" title="Eclipse Helios f&#252;r Java EE Entwickler" width="562" height="182" class="alignnone size-full wp-image-2715" />
</div>
<p>F&#252;r das Java EE Projekt mit Maven Unterst&#252;tzung werden zum einen die <a href="http://www.jboss.org/tools">JBoss Tools</a> und zum anderen das <a href="http://m2eclipse.sonatype.org/">Maven2Eclipse</a> Plugin ben&#246;tigt. Dabei spielen die JBoss Tools bei der Entwicklung von Java EE Projekten unter Eclipse generell eine sehr wichtige Rollen denn sie decken die meisten Themen wie z.B. JSF 2.0, CDI oder JPA sehr gut ab.</p>
<h4><a name="EclipseKonfigurierenJBossTools" class="noLink">JBoss Tools Eclipse Plugin</h3>
</h4>
<p>Die aktuelle Version 3.2 der JBoss Tools gibt es dabei noch gar nicht so lange denn sie wurde erst Mitte Februar Final. Die JBoss Tools werden am einfachsten &#252;ber die offizielle Update Seite installiert: <a href="http://download.jboss.org/jbosstools/updates/stable/helios/">http://download.jboss.org/jbosstools/updates/stable/helios/</a><br />
Dazu in Eclipse im &#8220;Hauptmen&#252;->Help->Install New Software&#8230;&#8221; klicken. Im aufkommenden Dialog den Button &#8220;Add&#8221; klicken um die Update Seite hinzuzuf&#252;gen:</p>
<div class="singleImgDiv">
<a href="http://javathreads.de/data/uploads/2011/05/1105_EclipseAddRepository.png"><img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseAddRepository.png" alt="" title="JBoss Tools Update Seite hinzuf&#252;gen" width="630" height="405" class="alignnone size-full wp-image-2586" /></a>
</div>
<p>Diesen Dialog mit dem Button &#8220;Add&#8221; beenden und anschlie&#223;end wird man erst einmal durch den Schriftzug &#8220;Pending&#8230;&#8221; sehen, dass das Repository geladen wird. Das kann unter Umst&#228;nden eine ganze Weile dauern:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossToolsAddRepPending.png" alt="" title="JBoss Tools Update Seite - Repository wird geladen" width="630" height="159" class="borderGray alignnone size-full wp-image-2588" />
</div>
<p>Sobald das Repository geladen wurde ist eine Liste mit allen m&#246;glichen Gruppen zu sehen. Die bisher bekanntesten Tools wie z.B. die JBoss AS Tools, Seam Tools oder Hibernate Tools befinden sich in der Gruppe &#8220;Web und Java EE Development&#8221;. Man k&#246;nnte jetzt alles durchgehen und nur die ben&#246;tigten Tools selektieren aber der Einfachheit halber selektiere ich &#8220;All JBoss Tools 3.2.0&#8243;:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossToolsAddRepList.png" alt="" title="JBoss Tools Update Seite - Tools Liste" width="630" height="361" class="alignnone size-full wp-image-2589" />
</div>
<p>Anschlie&#223;end den Button &#8220;Next&#8221; klicken. Jetzt werden die Abh&#228;ngigkeiten gepr&#252;ft und das dauert auch wieder eine kleine Ewigkeit.<br />
Sobald die Pr&#252;fung fertig ist sieht man noch einmal die Liste aller Tools die installiert werden sollen. In der Liste taucht sicherlich das ein oder andere Tool auf welches nicht wirklich ben&#246;tigt wird aber es schadet auch nicht. Den Dialog mit &#8220;Next&#8221; beenden.<br />
Auf dem letzten Dialog die Lizensvereinbarungen akzeptieren und den Button &#8220;Finish&#8221; klicken. Anschlie&#223;end beginnt die Installation der JBoss Tools:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossToolsInstalling-.jpg" alt="" title="Eclipse JBoss Tools - Installation" width="613" height="151" class="alignnone size-full wp-image-2728" />
</div>
<p>Die Installation verlangt einen Eclipse Neustart.</p>
<h4><a name="EclipseKonfigurierenJBossServerRuntime" class="noLink">JBoss Server Runtime konfigurieren</a></h4>
<p>Das sp&#228;tere Projekt soll direkt von Eclipse heraus in den JBoss Server deployt werden. Dazu muss der JBoss als Server Runtime Environment in Eclipse konfiguriert werden. Um das zu tun die Eclipse Eigenschaften aufrufen &#8220;Hauptmen&#252;->Window->Preferences&#8221; und die Optionen mit dem Wort &#8220;Server&#8221; filtern. Unter dem Punkt &#8220;Runtime Environments&#8221; wird der JBoss Server als Runtime hinzugef&#252;gt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/EclipseJBossServerRuntimeEnvironment.png" alt="" title="Eclipse Preferences - JBoss als Server Runtime konfigurieren" width="630" height="286" class="alignnone size-full wp-image-2606" />
</div>
<p>Den Button &#8220;Add&#8221; klicken und im n&#228;chsten Dialog unter &#8220;JBoss Community&#8221; den &#8220;JBoss 6.0 Runtime&#8221; auszuw&#228;hlen. Der Einfachheit halber direkt die Checkbox &#8220;Create a new local server&#8221; selektieren &#8211; das erspart die anschlie&#223;ende Konfiguration einer Server Instanz:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/EclipseJBoss6AndLocalServer.png" alt="" title="Eclipse JBoss 6 Runtime und Local Server" width="613" height="313" class="alignnone size-full wp-image-2607" />
</div>
<p>Mit dem Button &#8220;Next&#8221; in den letzten Dialog wechseln und dort das Verzeichnis ausw&#228;hlen indem der JBoss entpackt wurde (z.B. <code>C:\jboss-6.0.0</code>). Als JRE muss das in Eclipse konfigurierte JDK ausgew&#228;hlt werden. Unter Configuration default ausw&#228;hlen. Den Wizzard mit dem Button &#8220;Finish&#8221; beenden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossToolsRuntimeConfig1.jpg" alt="" title="Eclipse JBoss Runtime Konfiguration" width="613" height="341" class="alignnone size-full wp-image-2750" />
</div>
<p>Nun ist die konfigurierte Server Runtime aufgelistet und kann verwendet werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossRuntime.jpg" alt="" title="Eclipse JBoss Runtime" width="630" height="247" class="alignnone size-full wp-image-2736" />
</div>
<p>In dem Server-Panel ist auch die lokale Instanz zu sehen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/EclipseJBossRuntime.png" alt="" title="Eclipse JBoss Runtime Lokale Instanz" width="630" height="109" class="alignnone size-full wp-image-2608" />
</div>
<p>Als letzte Konfiguration der eingebetteten JBoss Server Instanz wird jetzt noch das Deployment-Verzeichnis ge&#228;ndert. Per default wird die deployte Anwendung im lokalen Workspace in einen versteckten Ordner deployt. Ich mag es lieber wenn meine Anwendung auch mit direkt in den JBoss deploy Ordner deployt wird und dann auch dort zu finden ist.<br />
Um das Deployment-Verzeichnis zu &#228;ndern mit einem Doppelklick auf die JBoss Server Instanz die Konfiguration &#246;ffnen. Anschlie&#223;end am unterem Ende des Fensters auf den Tab &#8220;Deployment&#8221; klicken. Auf der Deployment Seite nun die Einstellung &#8220;Use JBoss deploy folder&#8221; selektieren und die Einstellungen speichern:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossDeployFolder.jpg" alt="" title="Eclipse JBoss Settings Deployment-Verzeichnis" width="630" height="282" class="alignnone size-full wp-image-2826" />
</div>
<p>Nun kann der Server endlich durch klick auf den gr&#252;nen Pfeil gestartet werden &#8211; er sollte ohne Probleme hochfahren. In der Console sollte am Ende die Startdauer zu sehen sein:</p>
<div class="codebox">
22:03:02,852 INFO  [AbstractServer] Starting: JBossAS [6.0.0.Final "Neo"]<br />
&#8230;<br />
22:03:31,850 INFO  [org.jboss.bootstrap.impl.base.server.AbstractServer] JBossAS [6.0.0.Final "Neo"] Started in 28s:994ms
</div>
<p>Im Browser l&#228;sst sich der JBoss auch bereits aufrufen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossEmptyStartedBrowser.jpg" alt="" title="JBoss Tools Server Runtime gestartet" width="630" height="232" class="alignnone size-full wp-image-2674" />
</div>
<p>Wunderbar &#8211; der Server l&#228;uft =).</p>
<h4><a name="EclipseKonfigurierenMaven" class="noLink">Maven Unterst&#252;tzung in Eclipse</a></h4>
<p>Um Maven direkt aus Eclipse heraus verwenden zu k&#246;nnen ben&#246;tigt man das <a href="http://m2eclipse.sonatype.org/">m2eclipse Plugin von Sonatype</a>. Die Plugin Installation wird wieder &#252;ber das &#8220;Hauptmen&#252;->Help->Install New Software&#8230;&#8221; gestartet. In meiner Helios Version war die Update URL f&#252;r das m2eclipse Plugin bereits konfiguriert. Ansonsten einfach folgende Update URL hinzuf&#252;gen: <a href="http://m2eclipse.sonatype.org/sites/m2e">http://m2eclipse.sonatype.org/sites/m2e</a><br />
Ist dieses Update URL selektiert wird das Repository geladen. In diesem Fall ist nur ein Plugin selektierbar und das muss nat&#252;rlich selektiert werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseMavenM2Eclipse.png" alt="" title="Eclipse Maven - m2eclipse Plugin installieren" width="630" height="359" class="alignnone size-full wp-image-2593" />
</div>
<p>Den Dialog mit &#8220;Next&#8221; weiterf&#252;hren.<br />
Anschlie&#223;end kommen wieder die Installationsdetails und die Lizensbedingungen. Den Wizzard mit &#8220;Finish&#8221; beenden und abwarten bis man aufgefordert wird Eclipse neu zu starten.<br />
Es kann sein, dass nach dem Neustart das Maven Plugin meldet, dass Eclipse mit einem JDK gestartet werden muss:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1104_EclipseMavenJDK.jpg" alt="" title="Eclipse Maven JDK Hinweis" width="602" height="192" class="alignnone size-full wp-image-2829" />
</div>
<p>In diesem Fall die Datei <code>eclipse.ini</code> &#246;ffnen (liegt direkt neben der Datei <code>eclipse.exe</code>) und unter dem Ausdruck <code>openFile</code> und oberhalb von <code>-vmargs</code> den Verweis auf die JDK angeben:</p>
<div class="codebox">
openFile<br />
-vm<br />
C:\Java\JDK\1.6\bin\javaw.exe<br />
-vmargs
</div>
<p>Mehr zu der Datei <code>eclipse.ini</code> findest du auch im <a href="http://wiki.eclipse.org/Eclipse.ini">Eclipse Wiki</a>.</p>
<p>Nach dem Neustart kann in den Eclipse Preferences (Hauptmen&#252;->Window->Preferences) die Maven Einstellungen konfigurieren. Darunter auch welches Maven verwendet werden soll. Das Plugin bringt eine Embedded-Version mit. In Eclipse reicht diese embedded Version eigentlich aus. Es empfiehlt sich aber die eigene Installation zu verwenden, so dass man auf der Kommandozeile die gleiche Maven Version verwendet wie in Eclipse. Dazu in &#8220;Maven->Installations&#8221; mit dem Button Add die eigene Installation hinzuf&#252;gen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/EclipseMavenPreferences.png" alt="" title="Eclipse Maven - Preferences" width="630" class="alignnone size-full wp-image-2595" />
</div>
<p>Nachdem das Maven Plugin installiert wurde und man evtl. die Maven Installation angepasst hat dauert es einen Moment bis Maven seinen Index aktualisiert hat. Sofern das Maven Index Update noch l&#228;uft sieht man dies in dem Progress Panel:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseMavenIndexUpdate.png" alt="" title="Eclipse Maven - Index Update" width="630" height="203" class="alignnone size-full wp-image-2598" />
</div>
<h4><a name="EclipseKonfigurierenMavenExtrasWTP" class="noLink">Maven Extras &#8211; m2eclipse-extras</a></h4>
<p>Es fehlt noch das Maven Integration for Eclipse WTP Plugin um mit Maven mit dem Eclipse Web Tools Project zu verbinden. Dazu noch einmal im Hauptmen&#252; &#8220;Help->Install New Software..2 klicken und die Update URL ausw&#228;hlen oder hinzuf&#252;gen: <a href="http://m2eclipse.sonatype.org/sites/m2e-extras">http://m2eclipse.sonatype.org/sites/m2e-extras</a></p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseMavenM2eclipseExtras.png" alt="" title="Eclipse Plugin m2eclipse-extras" width="630" height="374" class="alignnone size-full wp-image-2619" />
</div>
<p>Anschlie&#223;end den Wizzard wieder wie gewohnt durchgehen und das Plugin installieren.</p>
<h3><a name="JavaEE6Project" class="noLink">Das erste Java EE 6 Projekt</a></h3>
<p>Nun ist Eclipse konfiguriert und vorbereitet &#8211; es ist Zeit f&#252;r das erste Java EE 6 Projekt mit Eclipse WTP und Maven Unterst&#252;tzung.</p>
<h4><a name="JavaEE6ProjectMaven" class="noLink">Projekt mit Maven generieren</a></h4>
<p>Um ein neues Projekt anzulegen im Hauptmen&#252; &#8220;File->New->Other&#8221; klicken und im ge&#246;ffneten Startfenster des Wizzards &#8220;Maven Project&#8221; ausw&#228;hlen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/EclipseProjectWizzardNewMaven.png" alt="" title="Eclipse Neues Maven Project" width="613" height="328" class="alignnone size-full wp-image-2614" />
</div>
<p>Mit den Button &#8220;Next&#8221; weiter. Im zweiten Dialog &#8220;Select Project Name and Location&#8221; die Voreinstellung &#8220;Use default Workspace Location&#8221; selektiert lassen und Button &#8220;Next&#8221; klicken.<br />
Im folgenden Dialog &#8220;Select an Archetype&#8221; nach &#8220;knappsack&#8221; filtern und <code>ee6-sandbox-archetype</code> ausw&#228;hlen. Falls dieser Archetype nicht verf&#252;gbar ist kann es sein, dass der Maven Index Update noch nicht vollst&#228;ndig durchlaufen ist &#8211; in diesem Fall sieht man in Eclipse unten rechts im Progress View, dass ein Prozess l&#228;uft und es hilft nur warten..<br />
Die &#8220;knappsack&#8221; Archetypes wurden von <a href="http://www.andygibson.net/blog/projects/knappsack/">Andy Gipson</a> erstellt und erm&#246;glichen einen sehr einfachen Start in das Projekt.<br />
Wer ein Beispielprojekt mit einem vollst&#228;ndigem CRUD Beispiel haben m&#246;chte sollte das Archetype <code>jee6-sandbox-demo-archetype</code> verwenden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseProjectWizzardArchetype.png" alt="" title="New Project - Maven Archetype jee6-sandbox-archetype" width="630" class="alignnone size-full wp-image-2625" />
</div>
<p>Nach dem Selektieren des Archetypes den Dialog mit &#8220;Next&#8221; verlassen.</p>
<p>Auf der n&#228;chsten Seite m&#252;ssen jetzt die Archetype Parameter gesetzt werden. Das ist zum Einen die Group Id und zum Anderen die Artifact Id. In die Group id kommt der &#252;bergeordnete Name der Package Struktur und als Artifact Id wird der Projektname gew&#228;hlt:</p>
<div class="singleImgDiv"><img src="http://javathreads.de/data/uploads/2011/05/1105_MavenProjectArchetypeParameters.png" alt="" title="Neues Maven Projekt - Archetype Parameter" width="630" class="alignnone size-full wp-image-2629" />
</div>
<p>Mit dem Button &#8220;Finish&#8221; den Wizzard beenden. Das Projekt wird nun generiert und das kann einen Moment dauern:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_MavenProjectGenerate.png" alt="" title="Neues Maven Projekt wird generiert" width="630" height="176" class="alignnone size-full wp-image-2617" />
</div>
<p>Nun ist das Projekt erstellt und man kann sich die  Java, xhtml und Konfigurationsdateien ansehen die durch den gew&#228;hlten Maven Archetype generiert wurden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseGeneratedProject.geaendert.jpg" alt="" title="Generiertes Java EE 6 Eclipse Projekt" width="630" height="447" class="alignnone size-full wp-image-2677" />
</div>
<p>Diese generierten Java und xhtml Dateien sollen den Einstieg in JSF 2, CDI und JPA 2 vereinfachen.</p>
<h4>Konfiguration in web.xml auf Servlet 3.0 umstellen</h4>
<p>Der ausgew&#228;hlte Maven Archetype hat in der <code>web.xml</code> als Servlet Spezifikationsversion 2.5 konfiguriert aber wir wollen 3.0 verwenden. Deswegen die <code>web.xml</code> Datei &#246;ffen: ALT-Shift-R -> <code>web.xml</code> oder im Verzeichnis <code>src/main/webapp/WEB-INF</code>. In dieser Datei steht auch schon als Kommentar der Hinweis, dass man f&#252;r den JBoss Servlet Version 3 verwenden soll. Dazu die Zeile 10 l&#246;schen und die oberen Zeilen mit version=&#8221;3.0&#8243; verwenden. Mein <code>web-app</code> Element sieht wie folgt aus:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1104_MavenProjectWebXml.jpg" alt="" title="Maven Projekt web.xml auf Servlet 3.0 konfigurieren" width="630" height="165" class="borderGray alignnone size-full wp-image-2655" />
</div>
<h4><a name="JavaEE6ProjectEclipseJSF" class="noLink">JSF Capabilities dem Projekt hinzuf&#252;gen</a></h4>
<p>&#214;ffnet man eine .xhtml Seite so &#246;ffnet sich der Visuell Editor von den JBoss Tools. Allerdings erscheint eine Fehlermeldung, dass die JSF Capabilities / JSF Unterst&#252;tzung f&#252;r dieses Projekt noch nicht konfiguriert ist:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseProjectJSFCapabilitiesError.jpg" alt="" title="Eclipse JSF Fehlermeldung Capability / JSF Unterst&#252;tzung nicht konfiguriert" width="630" height="378" class="borderGray alignnone size-full wp-image-2653" />
</div>
<p>Entweder in dieser Fehlermeldung direkt auf den Button &#8220;Add JSF Capabilities&#8221; klicken oder mit der rechten Maustaste auf das Projekt und aus dem Kontextmen&#252; &#8220;Configure->Add JSF Capabilities&#8221; klicken. In beiden Varienten &#246;ffnet sich ein Wizzard mit dem ersten Dialog &#8220;Project Location&#8221;. Der vorgegebene Pfad f&#252;r die <code>web.xml</code> Datei sollte eigentlich stimmen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJsfCapabilitesProjectLocation1.jpg" alt="" title="Eclipse Add JSF Capabilities Wizzard - Project Location" width="630" height="190" class="alignnone size-full wp-image-2654" />
</div>
<p>Mit den Button &#8220;Next&#8221; auf den n&#228;chsten Dialog &#8220;Project Folders&#8221; wechseln. Die vorgegebenen Pfade sollten auch hier stimmen. Die Checkbox &#8220;Add Libraries&#8221; darf nicht selektiert werden denn sonst kommt es sp&#228;ter zu Fehlern.<br />
Als Servlet Version muss 3.0, wie zuvor bereits in der <code>web.xml</code> abge&#228;ndert, ausgew&#228;hlt werden.<br />
Der Haken bei der Checkbox f&#252;r &#8220;Target Server&#8221; bewirkt, dass dieses Projekt direkt dem konfigurierten JBoss hinzugef&#252;gt und mit deployt wird:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseProjectJSFCapabilitiesProjectFolders.jpg" alt="" title="Eclipse Projekt JSF Capabilities - Project Folders" width="630" height="569" class="alignnone size-full wp-image-2755" />
</div>
<p>Den Wizzard mit dem Button &#8220;Finish&#8221; beenden. Man wird anschlie&#223;end gefragt ob man in die Web Developer Perspektive wechseln m&#246;chte. Je nach Geschmack kann man sich die Web Developer Perspektive anschauen und verwenden oder wieder in die Java EE Perspektive wechseln.</p>
<p>Nun sollten sich alle <code>.xhtml</code> Seiten ohne Warnung im Visual Editor &#246;ffnen lassen und auch Autocomplete f&#252;r JSF Tags m&#246;glich sein:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossToolsVisualEditorAutocomplete.jpg" alt="" title="Eclipse JBoss Tools Visual Editor Autocomplete" width="630" height="204" class="alignnone size-full wp-image-2691" />
</div>
<h4><a name="JavaEE6ProjectEclipseCDI" class="noLink">CDI (Context and Dependency Injection) Unterst&#252;tzung dem Projekt hinzuf&#252;gen</a></h4>
<p>Als letztes m&#252;ssen noch die CDI Unterst&#252;tzung konfiguriert werden. Man merkt es daran, dass in der <code>.xhtml</code> Seite noch kein Autocomplete f&#252;r die EL (Expression Language) zul&#228;sst. Wenn man z.B. in der <code>home.xhtml</code> den Cursor in die Expression <code>#{demoCourseList}</code> in Zeile 11 setzt und <code>F3</code> dr&#252;ckt sollte die entsprechende Producer Methode der CDI Bean springen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_CDICapabilitiesNaXhtml.jpg" alt="" title="Eclipse Projekt CDI Capabilites nicht konfigurieren" width="630" height="146" class="alignnone size-full wp-image-2696" />
</div>
<p>Die CDI Unterst&#252;tzung wird genauso hinzugef&#252;gt wie die JSF Capabilites im Abschnitt zuvor. Im Kontextmen&#252; des Projektes (rechte Maustaste auf den obersten Knoten des Projekts) Configure->Add CDI (Context and Dependency Injection) support.. klicken. Im ge&#246;ffneten CDI Preferences Dialog die Checkbox selektiert lassen und den Button &#8220;Apply&#8221; dr&#252;cken. Anschlie&#223;end den Preferences Dialog mit dem Button &#8220;OK&#8221; wieder verlassen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseCDISupportPreferences.jpg" alt="" title="Eclipse CDI Unterst&#252;tzung Preferences" width="630" height="221" class="alignnone size-full wp-image-2698" />
</div>
<p>Nun den gleichen Versuch wie vorher schon in der <code>home.xhtml</code> machen und mit dem Cursor auf die Expression <code>#{demoCourseList}</code> in Zeile 11 setzen und <code>F3</code> dr&#252;cken. Nun &#246;ffnet sich der Java Editor genau an der richtigen Methode mit dem dazugeh&#246;rigem CDI Producer:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1104_CDISupportXhtmlElF3.jpg" alt="" title="Eclipse CDI Support - Producer Methode" width="630" height="148" class="alignnone size-full wp-image-2699" />
</div>
<p>Au&#223;erdem funktioniert nun auch Autocomplete direkt in der <code>.xhtml</code> Seite in einer Expression:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1104_CDISupportXhtmlElAutocomplete.jpg" alt="" title="Eclipse CDI Support - EL Autocomplete" width="630" height="181" class="alignnone size-full wp-image-2700" />
</div>
<h4><a name="JavaEE6ProjectProjektDeployen" class="noLink">Projekt auf den JBoss deployen</a></h4>
<p>Jetzt kommt der erste Test ob das generierte Projekt sich auch deployen und im Browser anzeigen l&#228;sst. Dazu im Server Panel &#252;berpr&#252;fen ob das Projekt dem Server hinzugef&#252;gt wurde &#8211; dazu einfach den JBoss aufklappen und vergewissern ob das <code>jee6project</code> zu sehen ist. Falls nicht muss das Projekt noch hinzugef&#252;gt werden: &#8220;rechte Maustaste auf JBoss 6.0 Runtime Server->Add and Remove&#8230;&#8221;. Anschlie&#223;end den Server starten:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJBossStarting.jpg" alt="" title="JBoss Runtime starten" width="630" height="117" class="alignnone size-full wp-image-2747" />
</div>
<p>In der Console erscheinen dann irgendwann die folgenden Zeilen:</p>
<div class="codebox">
23:08:27,957 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] deploy, ctxPath=/jee6project<br />
23:08:28,090 INFO  [javax.enterprise.resource.webcontainer.jsf.config] Mojarra 2.0.3 ( b05) f&#252;r Kontext &#8216;/jee6project&#8217; wird initialisiert.
</div>
<p>Nun die deployte Anwendung im Browser unter <a href="http://localhost:8080/jee6project">http://localhost:8080/jee6project</a> aufrufen:</p>
<div class="codebox">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseJavaEEMavenProjectDeployt.jpg" alt="" title="Java EE 6 Projekt deployt und aufrufbar" width="630" height="407" class="alignnone size-full wp-image-2758" />
</div>
<p>Die Seite die dargestellt wird stammt aus dem gew&#228;hlten Knappsack Maven Archetype und soll die ersten Schritte in Java EE 6 bzw. in CDI vereinfachen.<br />
Um zu pr&#252;fen ob die WTP Unterst&#252;tzung funktioniert kann man das Hot Deployment ausprobieren. Hot Deployment funktioniert auf alle Web Resourcen wie z.B. <code>.xhmtl</code>, <code>.css</code> oder Bilddateien.<br />
Um das zu testen einfach die <code>home.xhtml</code> &#246;ffnen und einen Text eingeben:</p>
<div class="codebox">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseWTPHotDeploymentXhtml.jpg" alt="" title="Eclipse WTP Hot Deployment - Editor" width="630" height="206" class="alignnone size-full wp-image-2764" />
</div>
<p>Nach dem speichern die Seite im Browser aktualisieren und der Text sollte direkt angezeigt werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/05/1105_EclipseWTPHotDeploymentBrowser.jpg" alt="" title="Eclipse WTP Hot Deployment - Browser" width="630" height="233" class="alignnone size-full wp-image-2768" />
</div>
<p>Prinzipiell ist das Tutorial an dieser Stelle zu Ende &#8211; der JBoss l&#228;uft und das Java EE 6 Projekt ist deployt. Es lohnt sich als n&#228;chstes den Code durchzusehen und zu ver&#228;ndern. Im folgenden Abschnitt wird noch kurz auf ein paar Dinge im Source Code rund um CDI eingegangen.</p>
<h3><a name="WieGehtEsWeiter" class="noLink">Wie geht es weiter?</a></h3>
<p>An diesem Punkt angekommen solltest du ein laufendes Java EE 6 Projekt im Web Profile auf dem JBoss Application Server haben. Nun kannst du dich mit Eclipse, Maven oder Java EE 6 weiter besch&#228;ftigen.<br />
Hast du mit Java EE 6 noch &#252;berhaupt keine Erfahrungen solltest du dir dieses Projekt genauer ansehen und dich mit den bereits verwendeten Annotationen und Aufbau vertraut machen.</p>
<p>Viel Spa&#223; beim ausprobieren =).</p>
<p><script type="text/javascript">
function showMavenLinuxInstall() {
document.getElementById('mavenAnleitungLinuxDiv').style.display = 'block';
document.getElementById('mavenAnleitungLinuxDivLink').style.display = 'none';
}
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2011/05/tutorial-mit-java-ee-6-unter-eclipse-helios-und-mit-maven-unterstuetzung-starten/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Eclipse Galileo ver&#246;ffentlicht</title>
		<link>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/</link>
		<comments>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 07:00:43 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Galileo]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1777</guid>
		<description><![CDATA[Es ist knapp ein Jahr her, dass Eclipse Ganymede (3.4) ver&#246;ffentlicht wurde und viele Erneuerungen gegen&#252;ber seinem Vorg&#228;nger mitgebracht hat &#8211; ich berichtete dar&#252;ber. In vielen Firmen wird erst so langsam auf Eclipse Ganymede umgestiegen und nun erscheint auch schon der Nachfolger: Eclipse Galileo.



Eclipse Galileo entspricht der Version 3.5 und bringt seinerseits auch wieder viele [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist knapp ein Jahr her, dass Eclipse Ganymede (3.4) ver&#246;ffentlicht wurde und viele Erneuerungen gegen&#252;ber seinem Vorg&#228;nger mitgebracht hat &#8211; <a href="http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/">ich berichtete dar&#252;ber</a>. In vielen Firmen wird erst so langsam auf Eclipse Ganymede umgestiegen und nun erscheint auch schon der Nachfolger: <a href="http://eclipse.org/downloads/">Eclipse Galileo</a>.</p>
<div class="singleImgDiv">
<a href="http://eclipse.org/downloads/"><img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileo.png" alt="Eclipse Galileo" title="Eclipse Galileo" width="620" height="91" class="alignnone size-full wp-image-1778" /></a>
</div>
<p>Eclipse Galileo entspricht der Version 3.5 und bringt seinerseits auch wieder viele neue Dinge mit. Neben den bisher schon bekannten Projekte wie z.B. WebTools, Data Tools oder C/C++ Tools bringt Galileo f&#252;nf neue Projekte mit an den Start. Pers&#246;nlich finde ich das <a href="http://eclipse.org/mat/">Memory Analyzer Projekt</a> (MAT) am interessantesten. Wer einen Einblick in MAT bekommen m&#246;chte sollte sich mal das dazugeh&#246;rige <a href="http://dev.eclipse.org/blogs/memoryanalyzer/">Blog</a> und auch das <a href="http://live.eclipse.org/node/520">Webinar</a> aus dem letzten Jahr ansehen.</p>
<p>Nebem dem MAT sind auch noch die <a href="http://eclipse.org/pdt/">PHP Developer Tools</a>, eine <a href="http://eclipse.org/mylyn/">Mylyn</a> WikiText Unterst&#252;tzung, eine Unterst&#252;tzung um <a href="http://eclipse.org/webtools/sse/">XSL Tooling</a> um XSL zu bearbeiten und zu debuggen und Verbesserungen f&#252;r die <a href="http://eclipse.org/birt/phoenix/">Business Intelligence Reporting Tools</a> (BIRT) mit Galileo ver&#246;ffentlicht worden (siehe auch <a href="http://www.eclipse.org/org/press-release/20090624_galileo.php">Release Notes</a>).</p>
<div class="subHeadline">Eclipse 3.5 &#8211; New and Noteworthy</div>
<p>Das sch&#246;ne an Ver&#246;ffentlichungen von Eclipse und deren Plugins sind die &#8220;<a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-news-all.html">New and Noteworthy</a>&#8221; Seiten auf denen die interessantesten Erneuerungen mit einem Screenshot erl&#228;utert werden. F&#252;r Eclipse Galileo ist die Seite entsprechend der vielen Erneuerungen auch wirklich lang. Im folgenden ein paar Erneuerungen die ich auf Anhieb ganz interessant fand:</p>
<ul>
<li><b>Platform &#8211; Compare Editor enhancements</b><br/>Wirklich brauchbare Erneuerungen wie Go to line oder Open Resource und Type sowie die M&#246;glichkeit den Encoding Type auf jeder Seite des Editors neu zu setzen.
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/gotoline.png" alt="Eclipse Ganymede - Compare Editor - Go to line" title="Eclipse Ganymede - Compare Editor - Go to line" width="466" height="345" class="alignnone size-full wp-image-1780" />
</div>
</li>
<li><b>Platform &#8211; Open Resource dialog allows choice of editor</b><br/>Man kann nun den Editor f&#252;r die zu &#246;ffnende Datei direkt im Open Resource Dialog ausw&#228;hlen, falls gew&#252;nscht:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/open-resource-dialog.png" alt="Eclipse Galileo - Open Resource Dialog - Editor ausw&#228;hlen" title="Eclipse Galileo - Open Resource Dialog - Editor ausw&#228;hlen" width="369" height="406" class="alignnone size-full wp-image-1782" />
</div>
</li>
<li><b>Install/Update Changes</b><br/>Wie auch bei der letzten Version wurde einiges an dem Install und Update Management gearbeitet und verbessert. Um nur eine Sache herauszugreifen im folgenden der Screenshot des vereinfachten Hinzuf&#252;gen neuer Update Sites:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/p2install.png" alt="Eclipse Galileo - Install and Update Dialog - Installing software from a new site" title="Eclipse Galileo - Install and Update Dialog - Installing software from a new site" width="452" height="573" class="alignnone size-full wp-image-1783" />
</div>
</li>
<li><b>Java Editor &#8211; Constructor completion</b><br/>Der Content Assistent bietet nun die verf&#252;gbaren Konstruktoren der Klasse zur Auswahl an:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/constructor-completion.png" alt="Eclipse Galileo - Java Editor - Constructor completion" title="Eclipse Galileo - Java Editor - Constructor completion" width="466" height="201" class="alignnone size-full wp-image-1785" />
</div>
</li>
<li><b>Java Editor &#8211; Open Implementation hyperlink</b><br/>Ein Feature auf das wohl s&#228;mtliche Entwickler lange gewartet haben. Von einem Interface direkt in die Implementierung via Hyperlink springen sofern nur eine Implementierung vorhanden ist. Sind mehre da werden diese in der type hierarchy  aufgelistet und man kann dann direkt w&#228;hlen. Den Hyperlink erh&#228;lt man indem man die Taste STRG gedr&#252;ckt h&#228;lt und mit der Maus &#252;ber die Methode f&#228;hrt. Der Dialog sieht dann wie folgt aus:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/open-implementation.png" alt="Eclipse Galileo - Java Editor - Open Implementation" title="Eclipse Galileo - Java Editor - Open Implementation" width="466" height="102" class="alignnone size-full wp-image-1786" />
</div>
</li>
<li><b>Java Editor &#8211; Quick Fix to start Rename refactoring</b><br/>M&#246;chte man eine Methode mit Quick Fix (Strg-1) umbennen besteht nun die M&#246;glichkeit auch ein Refactoring &#252;ber das Projekt zu starten:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/rename-in-workspace.png" alt="Java Editor - Quick Fix to start Rename refactoring" title="Java Editor - Quick Fix to start Rename refactoring" width="466" height="76" class="alignnone size-full wp-image-1792" />
</div>
</li>
<li><b>Java Editor &#8211; Formatter option to preserve user line breaks</b><br/>Eine der bisher sehr nervigen Details am Formatter war, dass ich meine selbstdefinierten Zeilenumbr&#252;che nicht behalten durfte. Das soll jetzt vorbei sein:
<div class="singleImgDiv" style="text-align:left;">
<img src="http://javathreads.de/data/uploads/2009/06/formatter-join-lines-before.png" alt="Java Editor - Formatter option to preserve user line breaks - Vorher" title="Java Editor - Formatter option to preserve user line breaks - Vorher" width="115" height="97" class="alignnone size-full wp-image-1787" style="border:none;" />
</div>
<p>Und nach dem formatieren:</p>
<div class="singleImgDiv" style="text-align:left;">
<img src="http://javathreads.de/data/uploads/2009/06/formatter-join-lines-after.png" alt="Java Editor - Formatter option to preserve user line breaks - nacher" title="Java Editor - Formatter option to preserve user line breaks - nacher" width="154" height="98" class="alignnone size-full wp-image-1788" style="border:none;"/>
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Generate toString()</b><br/>Ein ziemlich cooles Feature ist die Unterst&#252;tzung f&#252;r die toString() Methode. Man erh&#228;lt diesen Dialog aus dem Context Men&#252; unter &#8220;Source->Generate toString()&#8230;&#8221; und dieser sieht wie folgt aus:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/generate-tostring-dialog.png" alt="Eclipse Galileo - Java Refactoring and Source Actions - Generate toString()" title="Eclipse Galileo - Java Refactoring and Source Actions - Generate toString()" width="428" height="574" class="alignnone size-full wp-image-1793" />
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Comparing identical values</b><br/>Wenn zwei gleiche Variablen verglichen werden wird das nun als Warning angegeben:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/comparing-identical-values-example.png" alt="Eclipse Galileo - Java Refactoring and Source Actions - Comparing identical values" title="Eclipse Galileo - Java Refactoring and Source Actions - Comparing identical values" width="466" height="113" class="alignnone size-full wp-image-1790" />
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Missing hashCode() method</b><br/>Der Compiler kann nun fehlende hashCode() Methoden finden auch wenn equals() schon vorhanden ist. Dieses Feature ist per Default ausgeschalten &#8211; einschalten kann man es unter  &#8220;Preferences > Java > Compiler > Errors/Warnings in the Potential programming problems&#8221;.
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/compiler-hashcode-diagnosis.png" alt="Java Refactoring and Source Actions - Missing hashCode() method" title="Java Refactoring and Source Actions - Missing hashCode() method" width="440" height="196" class="alignnone size-full wp-image-1796" />
</div>
</li>
</ul>
<p>Es gibt noch einige mehr Erweiterungen die man sich auf der &#8220;<a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-news-all.html">New and Noteworthy</a>&#8221; Seite ansehen kann.</p>
<div class="subHeadline">Eclipse Galileo Packages</div>
<p>Neben den neuen Projekten werden nat&#252;rlich auch wieder fertige <a href="http://www.eclipse.org/downloads/">Projekt Packages </a>angeboten &#8211; darunter auch wieder das JEE Package mit den Web Tools und Data Tools:</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads/"><img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileoprojektpackages.jpg" alt="Eclipse Galileo Packages" title="Eclipse Galileo Packages" width="620" height="321" class="alignnone size-full wp-image-1802" /></a>
</div>
<p>Startet man das Eclipse Galileo JEE Package sieht man auch an der Welcome Page eine deutlichen &#196;nderung:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileowelcomepage.jpg" alt="Eclipse Galileo JEE Package Welcome Page" title="Eclipse Galileo JEE Package Welcome Page" width="620" height="419" class="alignnone size-full wp-image-1820" />
</div>
<p>Auf dieser Welcome Page sind unter anderem die sieben wichtigsten im JEE Package durch die Web Tools Platform mitgebrachten Unterst&#252;tzungen aufgelistet: Web Services, Web, XML Tools, Server Tools, Java EE, JSF, JPA. Die Web Tools Platform 3.1, welche auch erst im Juni ver&#246;ffentlicht wurde, hat auch einige Erneuerungen mitgebracht die unter &#8220;<a href="http://www.eclipse.org/webtools/releases/3.1.0/newandnoteworthy/">Eclipse Web Tools Platform 3.1 &#8211; New and Noteworthy</a>&#8221; im Detail angesehen werden k&#246;nnen.</p>
<div class="subHeadline">JBoss Tools unter Eclipse Galileo</div>
<p>Nat&#252;rlich steht auch wieder das leidige Thema Plugin Update auf der Liste und diesmal haben die JBoss Tools schon ein wenig vorgearbeitet. Schon am Anfang des Monats wurde auf dem offiziellen Blog <a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased">verk&#252;ndet</a>, dass man den JBoss Tools 3.1 Milestone 1 f&#252;r Eclipse Galileo installieren und testen kann. Der Update Site Link f&#252;r die Developer Version ist: <a href="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</a>.</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased"><img src="http://javathreads.de/data/uploads/2009/06/jbosstoolsgalileo2.jpg" alt="JBoss Tools 3.1 M1 f&#252;r Eclipse Galileo" title="JBoss Tools 3.1 M1 f&#252;r Eclipse Galileo" width="450" height="101" class="alignnone size-full wp-image-1827" /></a>
</div>
<p>Ich habe die JBoss Tools 3.1 M1 unter Eclipse Galileo installieren und auch ohne erkennbare Probleme verwenden k&#246;nnen. In einem ersten Versuch hat das Umbennenen ohne Probleme funktioniert. Den Rename Dialog erh&#228;lt man am einfachsten aus der Seam Component View heraus. Insgesamt ein wirklich sehr n&#252;tzliches Feature!<br />
In ersten Tests mit einem bestehenden Projekt lies sich insgesamt problemlos arbeiten. Im About Dialog von Eclipse werden die entsprechenden Plugins auch korrekt angezeigt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/jbosstoolseclipsegalileo.png" alt="Eclipse Galileo - JBoss Tools 3.1 M1 installiert" title="Eclipse Galileo - JBoss Tools 3.1 M1 installiert" width="548" height="331" class="alignnone size-full wp-image-1798" />
</div>
<p>Auch zu den JBoss Tools 3.1 M1 gibt es eine &#8220;<a href="http://docs.jboss.org/tools/whatsnew/index.html">News and Noteworthy</a>&#8221; Seite auf der die einzelnen nennenswerten Erneuerungen zu finden sind. Ich m&#246;chte nur kurz eins hervorherben welche ich ziemlich praktisch finde und zwar ist das der &#8220;Rename Seam Component&#8221; Dialog, der verf&#252;gbar ist wenn man in einer Klasse die mit @Name annotiert ist, sich in der components.xml oder in der Seam components view befindet. Verwendet man diesen Dialog wird der Name auch in den xhtml Dateien gefunden und dort refactored:</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased"><img src="http://javathreads.de/data/uploads/2009/06/renameseamcomponent.png" alt="JBoss Tools 3.1 M1 - Seam Tools - Rename Seam Component Dialog" title="JBoss Tools 3.1 M1 - Seam Tools - Rename Seam Component Dialog" width="485" height="494" class="alignnone size-full wp-image-1797" /></a>
</div>
<p>Der &#220;bergang von Eclipse 3.4 auf Eclipse 3.5 mit den JBoss Tools scheint also vorerst problemlos zu funktioniern (im Gegensatz zu dem Umstieg von 3.3 auf 3.4).</p>
<p>Somit w&#252;nsche ich viel Spass beim ausprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DB Schema aus JPA Entit&#228;ten mit Hilfe von Eclipse WTP und den Hibernate Tools generieren lassen</title>
		<link>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/</link>
		<comments>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 06:00:20 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclpse Ganymede]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Hibernate Tools]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JPA]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1384</guid>
		<description><![CDATA[Arbeitet man mit JPA (Java Persistence API) und konfiguriert die Entity Beans mit Hilfe von javax.persistence Annotationen stellt sich immer die Frage wie man von den modellierten Entity Beans an das Datenbankschema f&#252;r die entsprechende Zieldatenbeank gelangt.



Entity Bean mit JPA Annotationen


Dazugeh&#246;riges SQL Schema f&#252;r diese Entity Bean











Meistens bringen die verschiedenen JPA Implementierungen eigene Tools mit. [...]]]></description>
			<content:encoded><![CDATA[<p>Arbeitet man mit JPA (Java Persistence API) und konfiguriert die Entity Beans mit Hilfe von <code>javax.persistence</code> Annotationen stellt sich immer die Frage wie man von den modellierten Entity Beans an das Datenbankschema f&#252;r die entsprechende Zieldatenbeank gelangt.</p>
<table style="width:100%">
<tr>
<td style="width:50%">
Entity Bean mit JPA Annotationen
</td>
<td style="width:50%">
Dazugeh&#246;riges SQL Schema f&#252;r diese Entity Bean
</td>
</tr>
<tr>
<td style="width:50%">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlsnippetentity2.png" alt="Entity Bean mit JPA Annotationen" title="Entity Bean mit JPA Annotationen" width="300" height="332" class="borderGray alignnone size-full wp-image-1414" />
</td>
<td style="width:50%">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlsnippetsql.png" alt="Entity Schema" title="Entity Schema" width="300" height="332" class="borderGray alignnone size-full wp-image-1412" />
</td>
</tr>
</table>
<p>Meistens bringen die verschiedenen JPA Implementierungen eigene Tools mit. Verwendet man z.B. Hibernate kann man zum Beispiel die von <a href="http://www.hibernate.org/hib_docs/reference/en/html/toolsetguide.html">Konsole Tools</a> in Form eines ANT Tasks verwenden. Arbeitet man mit der Eclipse Ganymede IDE hat man mit dem Web Tools Subprojekt &#8220;Dali&#8221; (<a href="http://www.eclipse.org/webtools/dali/main.php">Dali JPA Tools</a>) die M&#246;glichkeit sich das DB Schema mit Hilfe eines Eclipse Dialogs generieren zu lassen.  Ich habe schon mal bei der Vorstellung der JBoss Tools 3 Alpha Version <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">darauf hingewiesen</a>, dass das WTP Dali Projekt ab Version 3 unterst&#252;tzt wird.</p>
<div class="subHeadline">Kurze Anleitung</div>
<p>Nachdem ich diesen Artikel in der ausf&#252;hrlichen Version erstellt hatte kam mir dieser mehr doch sehr lang vor obwohl das Konfigurieren an sich relativ schnell geht. Dahier hier die wenigen Schritte in absoluter Kurzform:</p>
<ul>
<li>Projekt Facet &#8220;JPA Persistence&#8221; dem EJB Projekt hinzuf&#252;gen (Projekt Properties)</li>
<li>JPA Plattform und DB Verbindung konfigurieren (Projekt Properties)</li>
<li>Im Cotextmen&#252; auf dem EJB-Projekt &#8220;JPA-Tools->Generate DDL&#8230;&#8221; w&#228;hlen</li>
<li>Im DDL Generation Dialog das Zielverzeichnis, die Ausgabedatei und Hibernate Console- (konfigurierbar &#252;ber die Hibernate Perspektive) oder DB-Konfiguration angeben. Dialog mit &#8220;Finish&#8221; beenden -> DDL Datei wird erstellt.</li>
</ul>
<div class="subHeadline">Ausf&#252;hrliche Anleitung</div>
<p>Im Folgenden wird anhand meines kleinen <a href="http://java-schnipsel.de">Java Schnipsel</a> Projektes gezeigt wie das Datenbankschema, genauer gesagt die DDL (Data Definition Language) Datei, mit Eclipse generiert werden kann. Dieses Projekt verwendet Hibernate und somit werden aus den JBoss Tools Plugins das Hibernate Tools Eclipse Plugin ben&#246;tigt. Nun sind die JBoss Tools 3.0.0 endlich <a href="http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/">offiziell Stable erschienen</a> und da ist es an der Zeit dieses Feature mal auszuprobieren.</p>
<p>Im ersten Schritt sollte &#252;berpr&#252;ft werden ob die Hibernate Tools installiert sind. Aus den JBoss Tools Eclipse Plugins wird f&#252;r das Generieren der DDL Datei die Hibernate Tools ben&#246;tigt. F&#252;r eine Installationsanleitung der JBoss Tools siehe <a href="http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/">hier</a>.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlhibernatetoolsaddon.png" alt="JBoss Tools Eclipse Plugins - Hibernate Tools" title="JBoss Tools Eclipse Plugins - Hibernate Tools" width="600" height="88" class="borderGray alignnone size-full wp-image-1389" />
</div>
<p>Mein Beispielprojekt ist in der f&#252;r Eclipse normalen JEE Projektstruktur erstellt worden (mit dem <a href="http://javathreads.de/2008/09/tutorial-mit-jboss-seam-und-jee5-unter-eclipse-starten/">Seam Web Project Wizzard</a>):</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlhibernatetoolsprojektstruktur.png" alt="Eclipse JEE Projektstruktur" title="Eclipse JEE Projektstruktur" width="600" height="131" class="borderGray alignnone size-full wp-image-1388" />
</div>
<p>Hat man eine solche Projektstruktur muss man nun das JPA Project Facet hinzuf&#252;gen. Dazu auf dem EJB Projekt aus dem Context Men&#252; (recht Maustaste) &#8220;Properties&#8221; aufrufen. Im Properties Dialog &#8220;Project Facets&#8221; selektieren und dort das Facet &#8220;Java Persistence&#8221; ausw&#228;hlen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacets3.png" alt="Project Facet &quot;Java Persistence&quot;" title="Project Facet &quot;Java Persistence&quot;" width="600" height="402" class="borderGray alignnone size-full wp-image-1402" />
</div>
<p>Wenn das Facet &#8220;Java Persistence&#8221; selektiert wurde erscheint unten im gelben Hintergrund der Hinweis, dass weitere Konfigurationsm&#246;glichkeiten bestehen (&#8220;Further configuration available&#8221;). Am einfachsten ist es diese Konfiguration direkt auszuw&#228;hlen. Hat man die Einstellung mit &#8220;Apply&#8221; best&#228;tigt einfach das Facet noch einmal deslektieren, Apply dr&#252;cken und das Facet wieder selektieren.<br />
In dem Dialog &#8220;Modify Facet Project -> JPA Facet&#8221; muss nun die verwendete JPA Platform und die DB Verbindung konfiguriert werden. Ich verwende Hibernate und habe meine MySQL Verbindung konfiguriert. Man kann direkt von diesem Dialog aus eine neue DB Verbindung konfigurieren, sofern man das noch nicht getan hat.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacetjpa.png" alt="JPA Facet Konfiguration" title="JPA Facet Konfiguration" width="525" height="229" class="borderGray alignnone size-full wp-image-1396" />
</div>
<p>Die zwei weiteren dort m&#246;glichen Einstellungen habe ich bei mir auf &#8220;Use implementation provided by server Runtime&#8221; (Die Server Runtime kann in den Properties unter dem Punkt &#8220;Targeted Runtimes&#8221; konfiguriert werden &#8211; verwendet man keinen Server wie den JBoss kann man die JPA Jars auch direkt angeben) und &#8220;Discover annotated classes automatically&#8221; gesetzt. Anschlie&#223;end den JPA Facet Dialog und anschlie&#223;end den Properties Dialog mit &#8220;Ok&#8221; beenden.</p>
<p>Hat man allerdings den Properties Dialog schon vor den zus&#228;tzlichen JPA Einstellungen mit &#8220;Ok&#8221; beendet muss man noch einmal die Properties f&#252;r das EJB Projekt aufrufen und kann dann aber den Men&#252;punkt &#8220;JPA&#8221; direkt selektieren und somit konfigurieren:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacetjpadirekt2.png" alt="JPA Facet Konfiguration im Properties Men&#252;" title="JPA Facet Konfiguration im Properties Men&#252;" width="600" height="254" class="borderGray alignnone size-full wp-image-1404" />
</div>
<p>Nachdem die Java Persistence Project Facets dem JEE Projekt hinzugef&#252;gt wurden ist im Context Men&#252;, sofern man dieses auf dem EJB Projekt aufruft, der Eintrag &#8220;JPA Tools&#8221; zu finden. Darin findet sich der Men&#252;punkt &#8220;Generate DDL&#8221;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddljpatoolscontextmenu2.png" alt="Context Men&#252; JPA Tools -&gt; Generate DDL" title="Context Men&#252; JPA Tools -&gt; Generate DDL" width="600" height="325" class="borderGray alignnone size-full wp-image-1416" />
</div>
<p>Erh&#228;lt man nach dem Ausw&#228;hlen dieses Men&#252;punktes den Fehler &#8220;DDL Generation is not supported by the Generic Platform&#8221; hat man vergessen seinen JPA Platform (Hibernate, Toplink, ..) zu konfigurieren. Dazu einfach wieder in die EJB Projekt Properties und den Men&#252;punkt &#8220;JPA&#8221; selektieren und konfigurieren. Mehr Informantionen zu dieser Fehlermeldung auch <a href="http://dev.eclipse.org/newslists/news.eclipse.technology.dali/msg00324.html">hier</a>.<br />
Ist alles soweit korrekt konfiguriert &#246;ffnet sich der DDL Generation Dialog. Darin gibt man zuerst das Zielverzeichnis sowie den Namen der DDL Datei an. Die zweite wichtige Konfiguration ist der Hibernate Dialekt der verwendet werden soll. Dazu kann man entweder eine bereits durch die Hibernate Perspektive erstellte <a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">Hibernate Console Konfiguration</a> verwenden und diese mit der Checkbox &#8220;Use Console Konfiguration&#8221; verwenden oder wie in meinem Fall die bereits konfigurierte Datenbankverbindung. Der Dialekt kann dabei automatisch erkannt werden (<a href="http://javathreads.de/2009/02/zwingend-den-hibernate-dialekt-konfigurieren/">ich berichtete dar&#252;ber</a>) oder direkt angeben:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlgenerationdialog.png" alt="DDL Generation Dialog" title="DDL Generation Dialog" width="600" height="466" class="alignnone size-full wp-image-1407" />
</div>
<p>Ist alles korrekt konfiguriert wird durch den Button &#8220;Finish&#8221; das Generieren der DDL in der gew&#252;nschten Zieldatei gestartet. Das kann einen kleinen Moment dauern und anschlie&#223;end ist diese Schemadatei auch unter der gew&#252;nschten Position (bei mir im EJB-Projekt im Ordner ejbModule) zu finden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddldatei.png" alt="DDL Datei: schema.ddl" title="DDL Datei: schema.ddl" width="600" height="276" class="borderGray alignnone size-full wp-image-1408" />
</div>
<p>Gerade f&#252;r die erste Entwicklungszeit und dem Erstellen der Entit&#228;ten ist diese einfach DDL Generierung sehr n&#252;tzlich. Sieht man doch direkt was f&#252;r Datenbanktypen aus den Java Attributen erstellt werden.</p>
<p>Alternativ kann man mit den Hibernate Tools &#252;ber die Hibernate Perspektive das Schema auch direkt in der DB erstellen. Vor gut einem Jahr habe ich dazu einen <a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">kleinen Artikel erstellt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JBoss Tools 3.0.0 GA f&#252;r Eclipse Ganymede verf&#252;gbar</title>
		<link>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/</link>
		<comments>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 22:00:33 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1242</guid>
		<description><![CDATA[Nach l&#228;ngerem warten und den verschiedensten Versuchen die JBoss Tools unter Ganymede, als Nightly Build oder 3.0.0 Alpha Version f&#252;r Eclipse Ganymede zu installieren ist nun endlich die offizielle JBoss Tools 3.0.0 GA Version ver&#246;ffentlicht worden. Schon seit letzter Woche konnte man die JBoss Tools 3.0.0 GA &#252;ber den Eclipse Update Manager installieren &#8211; nur [...]]]></description>
			<content:encoded><![CDATA[<p>Nach l&#228;ngerem warten und den verschiedensten Versuchen die JBoss Tools unter <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">Ganymede</a>, als <a href="http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/">Nightly Build</a> oder <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">3.0.0 Alpha Version</a> f&#252;r Eclipse Ganymede zu installieren ist nun endlich die offizielle <a href="http://in.relation.to/Bloggers/JBossTools3IsHere">JBoss Tools 3.0.0 GA</a> Version ver&#246;ffentlicht worden. Schon seit letzter Woche konnte man die JBoss Tools 3.0.0 GA &#252;ber den Eclipse Update Manager installieren &#8211; nur die offizielle Nachricht fehlte. Die JBoss Tools kommen auch gleich mit einem neuen Logo daher, welches aus <a href="https://jira.jboss.org/jira/browse/JBIDE-2739">vielen verschiedenen Vorschl&#228;gen</a> ausgew&#228;hlt wurde.</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools3IsHere"><img src="http://javathreads.de/data/uploads/2009/03/jbosstools3logo.png" alt="JBoss Tools 3 Logo" title="JBoss Tools 3 Logo" width="600" height="145" class="borderGray alignnone size-full wp-image-1244" /></a>
</div>
<div class="subHeadline">JBoss Tools unter Eclipse Ganymede (3.4) installieren</div>
<p>M&#246;chte man mit den JBoss Tools 3 arbeiten ben&#246;tigt man Eclipse Ganymede. Es wird nicht empfohlen von Eclipse 3.3 auf Eclipse 3.4 via Update Manager zu wechseln. Viel praktischer ist es eine frische Eclipse Installation vorzunehmen und somit auch potentielle Fehlerquellen aus dem Weg zu gehen. Am einfachsten ist es wenn man die <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip">Eclipse 3.4 IDE for Java EE Developers</a> herunterl&#228;dt. Auch hier gibt es mittlerweile das Release 2 Bundle, welches ca 170 MB gro&#223; ist.</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip"><img src="http://javathreads.de/data/uploads/2009/03/eclipseideforjavaeedevelopersjpg.png" alt="Eclipse 3.4 IDE for Java EE Developers SR2" title="Eclipse 3.4 IDE for Java EE Developers SR2" width="600" height="74" class="borderGray alignnone size-full wp-image-1245" /></a>
</div>
<p>Nachdem Eclipse heruntergeladen, entpackt und gestartet wurde einfach die JBoss Tools Update URL (<a href="http://download.jboss.org/jbosstools/updates/stable">http://download.jboss.org/jbosstools/updates/stable</a>) im Eclipse Update Manager hinzuf&#252;gen. Den Update Manager findet man im Hauptmen&#252; unter Help->Software Updates. Dort den Reiter &#8220;Available Software&#8221; selektieren und rechts den Button &#8220;Add Site&#8230;&#8221; dr&#252;cken:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/eclipse34jbosstoolsupdatesite.png" alt="JBoss Tools Update Site" title="JBoss Tools Update Site" width="600" height="346" class="borderGray alignnone size-full wp-image-1248" />
</div>
<p>Ist die Update Site hinzugef&#252;gt kann man nach dem Aufklappen alle angebotenen JBoss Tools sehen. F&#252;r meine Seam Entwicklung mit Hibernate, RichFaces auf dem JBoss AS installiere ich immer die folgende Tools (hervorgehobene Selektion):</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/eclipse34jbosstoolsselektion.png" alt="JBoss Tools Selektion" title="JBoss Tools Selektion" width="600" height="487" class="borderGray alignnone size-full wp-image-1249" />
</div>
<p>Um die Installation fertigzustellen den Button &#8220;Install&#8221; dr&#252;cken und den Anweisungen folgen.</p>
<p>Erstellt man &#252;ber die JBoss Tools ein Seam Web Projekt sieht man schon die erste Erneuerung denn es wird jetzt auch Seam 2.1 direkt unterst&#252;tzt, wie man auch bei der Konfiguration der Seam Runtime sehen kann:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3seam21support.png" alt="Seam 2.1 Support" title="Seam 2.1 Support" width="525" height="191" class="borderGray alignnone size-full wp-image-1250" />
</div>
<div class="subHeadline">N&#252;tzliche neue Features f&#252;r die Entwicklung von XHTML Seiten mit Seam</div>
<p>Wer mit der Nightly Build oder 3.0.0 Alpha Version gearbeitet hat wird die neuen wirklich n&#252;tzlichen Features wahrscheinlich schon gesehen und ausprobiert haben. Vor allem bei der Entwicklung von Facelets XHTML Seiten in Verbindung mit Seam Komponenten sind sehr sch&#246;ne Features in die neue Version reingekommen. Ein paar davon, die ich pers&#246;nlich absolut praktisch finde, sind im folgenden kurz aufgelistet.</p>
<p><strong>Autocompletion:</strong><br />
Es werden alle mit <code>@Name</code> annotierten Seam Komponenten direkt im XHTML Editor gefunden und durch Autocomplete angeboten:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3codecompletion.png" alt="JBoss Toosl - XHTML Code Completion" title="JBoss Toosl - XHTML Code Completion" width="374" height="204" class="borderGray alignnone size-full wp-image-1252" />
</div>
<p><strong>EL Warning:</strong><br />
Hat man eine Fehler in der Expression Language gemacht wie der typische &#8220;rechte-Klammer-fehlt&#8221; Fehler findet man diesen nun nicht mehr erst nach dem Deployment sondern direkt im Editor durch ein Warning:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3elwarning.png" alt="JBoss Tools - EL Warning" title="JBoss Tools - EL Warning" width="397" height="338" class="borderGray alignnone size-full wp-image-1253" />
</div>
<p><strong>Seam Komponenten und Links direkt aus dem Editor heraus &#246;ffnen:</strong><br />
Man kann nun direkt aus dem XHMTL Editor heraus durch halten von STRG und der Maus direkt in die Java Klassen der Seam Komponenten oder direkt in andere .xhtml Seiten springen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3openon.png" alt="JBoss Tools - OpenOn" title="JBoss Tools - OpenOn" width="389" height="61" class="borderGray alignnone size-full wp-image-1255" />
</div>
<p><strong>Visueller Editor f&#252;r die pages.xml:</strong><br />
Es gibt nun eine wirklich gute Unterst&#252;tzung f&#252;r die pages.xml. Darunter auch eine visuelle Ansicht f&#252;r die Navigationsregeln, die in der pages.xml definiert werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3pages1.png" alt="JBoss Tools - pages.xml visueller Editor" title="JBoss Tools - pages.xml visueller Editor" width="600" height="191" class="borderGray alignnone size-full wp-image-1254" />
</div>
<p>Mehr Bilder zu den neuen Features findet man auch wie gewohnt im Kapitel &#8220;<a href="http://docs.jboss.org/tools/whatsnew/">News and Noteworthy</a>&#8220;.<br />
Alles in allem ist es wirklich sch&#246;n endlich eine funktionierende und offizielle Version der JBoss Tools f&#252;r Eclipse Ganymede zu haben. Nun steht der Entwicklung von vielen sch&#246;nen neuen Seam Projekten nichts mehr im Wege =).</p>
<p>Die offizielle Meldung f&#252;r die JBoss Tools 3.0 findet man auch noch mal <a href="http://in.relation.to/Bloggers/JBossTools3IsHere">hier</a> zum nachlesen.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JBoss RichFaces 3.3.0 GA mit einer Editor Komponente</title>
		<link>http://javathreads.de/2009/01/jboss-richfaces-330-ga-mit-einer-editor-komponente/</link>
		<comments>http://javathreads.de/2009/01/jboss-richfaces-330-ga-mit-einer-editor-komponente/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 08:00:45 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=956</guid>
		<description><![CDATA[Vor ein paar Tagen wurde die JBoss RichFaces 3.3.0 GA als neue Version mit einigen neuen Komponenten ver&#246;ffentlicht. F&#252;r mich und wahrscheinlich f&#252;r viele andere ist das deswegen so interessant, weil ab sofort in den RichFaces ein Rich Editor (WYSIWYG Editor) enthalten ist. Dieser Editor sieht auf der RichFaces Live Demo Seite wie folgt aus:



Man [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen wurde die <a href="http://labs.jboss.com/portal/jbossrichfaces/downloads">JBoss RichFaces 3.3.0 GA</a> als neue Version mit einigen neuen Komponenten <a href="http://in.relation.to/Bloggers/RichFaces330GAAvailable">ver&#246;ffentlicht</a>. F&#252;r mich und wahrscheinlich f&#252;r viele andere ist das deswegen so interessant, weil ab sofort in den RichFaces ein Rich Editor (WYSIWYG Editor) enthalten ist. Dieser Editor sieht auf der <a href="http://livedemo.exadel.com/richfaces-demo/welcome.jsf">RichFaces Live Demo Seite</a> wie folgt aus:</p>
<div class="singleImgDiv">
<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/fileUpload.jsf?c=editor"><img src="http://javathreads.de/data/uploads/2009/01/rfeditor.png" alt="" title="RichFaces Rich Editor"  class="borderGray alignnone size-full wp-image-957" /></a>
</div>
<p>Man kann den Funktionsumfang f&#252;r die Formatierungsm&#246;glichkeiten soweit abspecken, dass nur noch das n&#246;tigste f&#252;r den Benutzer m&#246;glich ist:</p>
<div class="singleImgDiv">
<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/fileUpload.jsf?c=editor"><img src="http://javathreads.de/data/uploads/2009/01/rfeditorsimple.png" alt="" title="RichFaces Rich Editor Simple" class="borderGray alignnone size-full wp-image-959" /></a>
</div>
<p>Wer den Editor live ausprobieren m&#246;chte kann dies auf der <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/fileUpload.jsf?c=editor">RichFaces Live Demo</a> direkt tun. Die einfachste Variante den Editor einzubinden und zu verwenden ist:</p>
<div class="code">
<pre>&lt;rich:editor value="#{myBean.editorContent}"/&gt;</pre>
</div>
<p>Die Editor Komponente selbst basiert auf den sehr bekannten <a href="http://tinymce.moxiecode.com/">TinyMCE JavaScript WYSIWYG Editor</a> und bisher musste man, wenn man einen solchen Rich Editor wollte, diesen manuell in sein Projekt einbinden.</p>
<p>Ich werde den Editor die Tage mal ausprobieren und dann wird man sehen ob er sich so einfach einbinden und verwenden l&#228;sst wie es bei den vielen anderen RichFaces Komponenten war.</p>
<p>Neben dem Editor ist noch eine weitere Ajax Komponente hinzugekommen: <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/queue.jsf?c=queue&#038;tab=usage">Ajax Queue</a>. Mit dieser ist es m&#246;glich direkt hintereinander abgesetzte Ajax Request so zu managen, dass der zweite Ajax Request erst abgesetzt wird wenn der erste beendet wurde. Somit kann man parallele Ajax Requests verhindern.</p>
<div class="singleImgDiv">
<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/queue.jsf?c=queue&#038;tab=usage"><img src="http://javathreads.de/data/uploads/2009/01/rfajaxqueue.png" alt="" title="RichFaces Ajax Queue" class="borderGray alignnone size-full wp-image-963" /></a>
</div>
<div class="subHeadline">JBoss RichFaces als JSF Ajax Framework</div>
<p>Wer bisher noch nichts von den RichFaces bzw. das dazugeh&#246;rige Ajax4Jsf geh&#246;rt hat der sollte sich auf der Live Demo Seite die vielen Beispiele mal ansehen. Neben den fertigen Ajax Komponenten wie z.b. die <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?c=dataTable&#038;tab=dataModel">DataTable</a>, <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/inplaceInput.jsf?c=inplaceInput&#038;tab=usage">Inplace Edit</a>, <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/tree.jsf?c=tree&#038;tab=usage">Tree</a> oder <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/fileUpload.jsf?c=fileUpload&#038;tab=usage">File Upload</a> (um nur einige zu nennen) ist vor allem der Ajax4Jsf Teil sehr interessant. Mit diesem lassen mit einfachen Mitteln bzw. Komponenten normale JSF Seiten &#8220;Ajaxifizieren&#8221; (<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/support.jsf?c=support&#038;tab=selects">a4j:support</a>), es lassen sich JavaScript Methoden dynamisch erzeugen (<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/jsFunction.jsf?c=jsFunction&#038;tab=usage">a4j:jsfunction</a>) die mit JSF Managed Beans reden oder Teile der JSF Seite neu Rendern oder man kann den Server mit Hilfe von Ajax Anfragen um z.B. einen Status abzufragen (<a href="http://livedemo.exadel.com/richfaces-demo/richfaces/poll.jsf?c=poll&#038;tab=usage">a4j:poll</a>).<br />
Pers&#246;nlich finde ich genau diesen Ajax4Jsf Teil und die gesamte Einfachheit der Verwendung der RichFaces Komponenten den Grund warum ich die JBoss RichFaces sehr empfehlen kann.</p>
<p>Noch ein letzter Tipp: Wer mit den RichFaces arbeitet sollte sich auf alle F&#228;lle die <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">JBoss Tools in Eclipse installieren</a> um die direkte RichFaces Unterst&#252;tzung im JSF Editor zu erhalten. Neben Autocomplete bei den Komponenten, dem Rich Editor f&#252;r JSF oder xhtml Seiten erkennt er auch Expressions und kann auf die Methoden und Beans referenzieren.</p>
<p>Viel Spass beim ausprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/01/jboss-richfaces-330-ga-mit-einer-editor-komponente/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JBoss Tools Nightly Build Update Seite</title>
		<link>http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/</link>
		<comments>http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 07:30:08 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[Eclipse Plugins]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=688</guid>
		<description><![CDATA[Seit Eclipse Ganymede auf dem Markt ist kann die letzte stabile Version der JBoss Tools nicht mehr verwendet werden. Der erste Ansatz war die Nightly Build Version h&#228;ndisch herunterzuladen und zu installieren. Die zweite M&#246;glichkeit kam durch die Ver&#246;ffentlichung einer 3.0.0 Alpha1 Version, die dann schon &#252;ber eine Update Seite installiert werden konnte.
Nun kommen wir [...]]]></description>
			<content:encoded><![CDATA[<p>Seit Eclipse Ganymede auf dem Markt ist kann die letzte stabile Version der JBoss Tools nicht mehr verwendet werden. Der erste Ansatz war die <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">Nightly Build Version h&#228;ndisch herunterzuladen und zu installieren</a>. Die zweite M&#246;glichkeit kam durch die <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">Ver&#246;ffentlichung einer 3.0.0 Alpha1 Version</a>, die dann schon &#252;ber eine Update Seite installiert werden konnte.</p>
<p>Nun kommen wir wieder zu der Nightly Build Version zur&#252;ck, denn JBoss hat jetzt die schon vor ein paar Monaten angek&#252;ndigte Nightly Build Update Seite eingerichtet.<br />
Die dazugeh&#246;rige URL lautet: <a href="http://download.jboss.org/jbosstools/updates/nightly/trunk"><strong>http://download.jboss.org/jbosstools/updates/nightly/trunk</strong></a></p>
<p>Um die Update Seite in Eclipse zu verwenden im Hauptmen&#252; wie gewohnt unter &#8220;Help->Software Updates&#8230;->Available Software Tab->Add Site&#8230;&#8221; die neue Nightly Build Update Seite URL hinzuf&#252;gen und mit &#8220;Ok&#8221; best&#228;tigen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/10/jbosstoolsnightlybuildupdatesite.png" alt="" title="JBoss Tools Nightly Build Update Seite" class="borderGray alignnone size-full wp-image-690" />
</div>
<p>Wenn man schon die Update Seite hinzugef&#252;gt hat muss man die neuen Versionen der JBoss Tools doch nat&#252;rlich auch gleich ausprobieren. Ich habe wie immer meine &#252;blichen Tools f&#252;r Hibernate, Seam, RichFaces und den JBoss AS f&#252;r die Installation selektiert.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/10/jbosstoolsnightlybuildselection.png" alt="" title="JBoss Tools Nightly Build Selektion"class="borderGray alignnone size-full wp-image-691" />
</div>
<p>Anschlie&#223;end noch &#252;berpr&#252;ft ob auch wirklich die aktuellste Nightly Build Version installiert ist:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/10/jbosstoolsnightlybuildinstalliert.png" alt="" title="JBoss Tools Nightly Build Version Installiert" class="borderGray alignnone size-full wp-image-692" />
</div>
<p>Man merkt die Weiterentwicklung aber auch im JBoss Tools XML Editor und dem JBoss Tools Property Editor denn in den fr&#252;heren Versionen konnte man z.B. die Tastenk&#252;rzel <span class="code">Strg-D</span> um eine Zeile zu l&#246;schen oder &#8220;<span class="code">Strg-Alt-Pfeil Unten</span>&#8221; um einen Block zu kopieren nicht verwenden. Das funktioniert nun und allein das ist dieses Update schon wert gewesen =).</p>
<p>Wer sich direkt den aktuellen Stand der 3.0.0 Beta1 Version installieren m&#246;chte kann sich diese auch durch eine eigens daf&#252;r eingerichtete <a href="http://download.jboss.org/jbosstools/updates/nightly/3.0.0.Beta1">Update Seite</a> installieren.</p>
<p>Wer Fehler/Bugs entdeckt kann sie in <a href="http://jira.jboss.org/jira/browse/JBIDE">Jira reporten</a> und so die Entwicklung unterst&#252;tzen. Ob ein neuer Build stattgefunden hat bzw. ob es sich lohnt Eclipse zu updaten kann auch <a href="http://in.relation.to/Bloggers/NightlyBuildUpdatesiteForJBossTools">online abgefragt werden</a>.</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/NightlyBuildUpdatesiteForJBossTools"><img src="http://javathreads.de/data/uploads/2008/10/jbosstoolsletzterbuild.jpg" alt="" title="JBoss Tools Letzter Build" class="alignnone size-full wp-image-693" /></a>
</div>
<p>So, nun kann flei&#223;ig weiterentwickelt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial: Mit JBoss Seam und JEE5 unter Eclipse starten</title>
		<link>http://javathreads.de/2008/09/tutorial-mit-jboss-seam-und-jee5-unter-eclipse-starten/</link>
		<comments>http://javathreads.de/2008/09/tutorial-mit-jboss-seam-und-jee5-unter-eclipse-starten/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 08:30:56 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[EJB]]></category>
		<category><![CDATA[JBoss Seam]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=71</guid>
		<description><![CDATA[Wer mit JBoss Seam eine Anwendung entwickeln m&#246;chte muss sich vor der eigentlichen Entwicklung erst die Entwicklungsumgebung einrichten. Und gerade diese ersten Schritte sind oft nicht ganz klar obwohl es hinterher eigentlich immer einfach erscheint. Aus diesem Grund m&#246;chte ich in diesem Artikel die einzelnen Schritte aufzeigen und beschreiben die notwendig sind um Eclipse mit [...]]]></description>
			<content:encoded><![CDATA[<p>Wer mit <a href="http://www.jboss.com/products/seam">JBoss Seam</a> eine Anwendung entwickeln m&#246;chte muss sich vor der eigentlichen Entwicklung erst die Entwicklungsumgebung einrichten. Und gerade diese ersten Schritte sind oft nicht ganz klar obwohl es hinterher eigentlich immer einfach erscheint. Aus diesem Grund m&#246;chte ich in diesem Artikel die einzelnen Schritte aufzeigen und beschreiben die notwendig sind um Eclipse mit dem JBoss Application Server (AS), JBoss Seam und als Datenbank die MySQL zu konfigurieren, so dass die eigentliche Entwicklung einer JBoss Seam JEE5 Anwendung starten kann. Ist die Umgebung einmal eingerichtet wird auch gleich ein &#8220;Hello World&#8221; Projekt erstellt und deployt.</p>
<div class="subHeadline">Verwendete Tools und Versionen</div>
<p>Damit klar ist mit welchen Tools und deren Versionen in diesem Tutorial gearbeitet wird hier eine kurze Auflistung. Es wird sp&#228;ter noch einmal darauf eingegangen wenn die Tools heruntergeladen werden m&#252;ssen:</p>
<ul>
<li><a href="http://www.eclipse.org/">Eclipse Ganymede</a> &#8211; IDE for Java EE Developers</li>
<li><a href="http://www.jboss.org/jbossas/">JBoss Application Server</a> Version 4.2.2.GA</li>
<li><a href="http://www.jboss.com/products/seam">JBoss Seam</a> Version 2.0.2</li>
<li><a href="http://www.jboss.org/tools/">JBoss Tools</a> Version 3.0.0 Alpha 1</li>
<li><a href="http://dev.mysql.com/downloads/mysql/5.0.html#downloads">MySQL</a> Version 5.0.x</li>
<li><a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL GUI Tools</a> f&#252;r die Version 5.0</li>
<li><a href="http://dev.mysql.com/downloads/connector/j/5.1.html">MySQL Connector</a> for Java 5.1</li>
</ul>
<div class="subHeadline">Ziel des Tutorials</div>
<p>Sobald die Entwicklungsumgebung mit den eben aufgelisteten Tools eingerichtet ist soll noch ein kleines &#8220;Hello World Seam Projekt&#8221; mit Hilfe der JBoss Tools Plugins aus Eclipse heraus erstellt werden. Das Ergebnis wird wie folgt aussehen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_browser_helloworldapp_modified.jpg" alt="" title="Seam Entwicklungsumgebung Tutorial - Hello World Seam Projekt Ergebnis" class="borderGray alignnone size-full wp-image-333" />
</div>
<div class="subHeadline" style="margin-top: 25px">Gliederung</div>
<p>Das Tutorial ist in folgende Abschnitte unterteilt:</p>
<ul class="gliederung">
<li>
<a href="#HerunterladenSoftware">Herunterladen der notwendigen Software und Tools</a></p>
<ul class="subGliederung">
<li><a href="#HerunterladenSoftwareEclipse">Eclipse herunterladen<a/></li>
<li><a href="#HerunterladenSoftwareJBossAS">JBoss AS herunterladen</a></li>
<li><a href="#HerunterladenSoftwareJBossSeam">JBoss Seam herunterladen</a></li>
<li><a href="#HerunterladenSoftwareMySQL">MySQL herunterladen</a></li>
</ul>
</li>
<li><a href="#Ordnerstruktur">Ordnerstruktur und Eclipse vorbereiten</a>
<ul class="subGliederung">
<li><a href="#OrdnerstrukturEclipse">Eclipse und Projekt Workspace</a></li>
<li><a href="#OrdnerstrukturJBoss">JBoss AS und JBoss Seam</a></li>
<li><a href="#OrdnerstrukturVerzeichnisstruktur">Fertige Verzeichnisstruktur</a></li>
<li><a href="#OrdnerstrukturEclipseStartparameter">Eclipse Startparameter und Teststart</a></li>
<li><a href="#OrdnerstrukturJBossToolsPlugins">JBoss Tools Eclipse Plugins installieren</a></li>
</ul>
</li>
<li><a href="#DBMySQL">MySQL Datenbank installieren und konfigurieren</a>
<ul class="subGliederung">
<li><a href="#DBMySQLInstallieren">MySQL Installieren</a></li>
<li><a href="#DBMySQLDBSchema">Datenbankschema in MySQL erstellen</a></li>
<li><a href="#DBMySQLDBBenutzer">Datenbankbenutzer in MySQL erstellen</a></li>
<li><a href="#DBMySQLConnectorJ">MySQL Connector/J Treiber dem JBoss AS bekannt machen</a></li>
</ul>
</li>
<li><a href="#EclipseSeamProjekt">Erstes Hello World Seam Projekt erstellen</a>
<ul class="subGliederung">
<li><a href="#EclipseSeamProjektSeamGen">Projektgenerierung mit Hilfe von Seam Gen</a></li>
<li><a href="#EclipseSeamProjektSeamWebProjekt">JBoss Seam Web Projekt erstellen</a></li>
<li><a href="#EclipseSeamProjektErsterWizzardDialog">Erster Wizzard Dialog &#8220;Seam Web Project&#8221;</a></li>
<li><a href="#EclipseSeamProjektZweiterWizzardDialog">Zweiter Wizzard Dialog &#8220;Web Module&#8221;</a></li>
<li><a href="#EclipseSeamProjektDritterWizzardDialog">Dritter Wizzard Dialog &#8220;JSF Capabilities&#8221;</a></li>
<li><a href="#EclipseSeamProjektVierterWizzardDialog">Vierter Wizzard Dialog &#8220;Seam Facet&#8221;</a></li>
<li><a href="#EclipseSeamProjektProjektGenerierung">Projekt Generierung</a></li>
<li><a href="#EclipseSeamProjektGenerierteProjektstruktur">Generierte Projektstruktur</a></li>
</ul>
</li>
<li><a href="#ErstesDeployment">Erstes Deployment und das ber&#252;hmte &#8220;Hello World&#8221;</a>
<ul class="subGliederung">
<li><a href="#ErstesDeploymentAngabenJBoss">Deployment Angaben f&#252;r den JBoss &#252;berpr&#252;fen</a></li>
<li><a href="#ErstesDeploymentJBossAsStarten">Erster Start des JBoss AS aus Eclipse heraus</a></li>
<li><a href="#ErstesDeploymentErfolgreicherJBossStart">Erfolgreicher JBoss AS Start und Deployment</a></li>
<li><a href="#ErstesDeploymentAufrufWebAnwendung">Aufruf der Web Anwendung im Browser</a></li>
<li><a href="#ErstesDeploymentErstesEditieren">Erstes Editieren: &#8220;Hello World&#8221; Text hinzuf&#252;gen</a></li>
</ul>
</li>
<li><a href="#Fazit">Fazit</a>
<ul>
<li><a href="#FazitWieGehtEsWeiter">Wie geht es weiter?</a></li>
</ul>
</li>
</ul>
<p><span id="more-71"></span></p>
<h2><a name="HerunterladenSoftware" class="noLink">Herunterladen der notwendigen Software und Tools</a></h2>
<p>Ich m&#246;chte kurz erw&#228;hnen, dass die folgenden Beschreibungen sich auf Windows beziehen. Das ist zwar generell unabh&#228;ngig, allerdings sind manche Angaben Pfadabh&#228;ngig und gelten in diesem Fall f&#252;r eine Windows Umgebung.</p>
<div class="subHeadline"><a name="HerunterladenSoftwareEclipse" class="noLink">Eclipse herunterladen</a></div>
<p>Als erstes muss Eclipse besorgt werden. Dazu auf <a href="http://www.eclipse.org">eclipse.org</a> gehen und im Men&#252; auf Download klicken. Die einfachste Variante ist direkt das <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip">Eclipse f&#252;r Java EE Developers Package</a> herunterzuladen. Der Vorteil liegt darin, dass das Web Tools Projekt und andere notwendige Abh&#228;ngigkeiten bereits vorinstalliert sind und mit dem angebotenen Eclipse zusammenspielen.</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip" title="Eclipse f&#252;r Java EE Developers Package"><img src="http://javathreads.de/data/uploads/2008/06/0806_seamentwtut_eclipsedownload.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse Ganymede Download" class="borderGray alignnone size-full wp-image-72" /></a>
</div>
<div class="subHeadline"><a name="HerunterladenSoftwareJBossAS" class="noLink">JBoss AS herunterladen</a></div>
<p>Weil JBoss Seam ein Framework f&#252;r die einfache Verbindung zwischen EJB 3 und JSF ist sollten wir uns auch den passenden Application Server besorgen. JBoss Seam kann man auch auf einem Servlet Container, wie zum Beispiel Apache Tomcat, laufen lassen allerdings ben&#246;tigt man dazu das <a href="http://docs.jboss.com/seam/latest/reference/en-US/html/configuration.html#config.install.embedded">Embedded JBoss Packet</a>.<br />
Den JBoss AS findet man auf seiner <a href="http://www.jboss.org/jbossas">offiziellen Seite</a> unter jboss.org und dort wieder auf den Button <a href="http://www.jboss.org/jbossas/downloads/">Download</a> klicken. F&#252;r dieses Tutorial wird die letzte stabile <a href="https://sourceforge.net/project/showfiles.php?group_id=22866&#038;package_id=16942&#038;release_id=614346">Version 4.2.2.GA</a> verwendet. Mit der zuletzt ver&#246;ffentlichten Version 4.2.3.GA wird der Seam Phaselistener doppelt installiert, was zu einem fehlerhaften Zustand f&#252;hrt. Aus diesem Grund wird die vorherige Version 4.2.2.GA hier verwendet.</p>
<div class="singleImgDiv">
<a href="http://www.jboss.org/jbossas/downloads/" title="Seam Entwicklungsumgebung Tutorial - JBoss AS Download"><img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_tools_jbossasdownload422.png" alt="" title="Seam Entwicklungsumgebung Tutorial - JBoss AS Download" class="borderGray alignnone size-full wp-image-315" /></a>
</div>
<div class="subHeadline"><a name="HerunterladenSoftwareJBossSeam" class="noLink">JBoss Seam herunterladen</a></div>
<p>Und nun zu dem eigentlichen Framework um das es hier geht: <a href="http://www.jboss.com/products/seam">JBoss Seam</a>. Auch hier wird die letzte stabile Version 2.0.2 SP1 <a href="http://www.seamframework.org/Download">heruntergeladen</a>.</p>
<div class="singleImgDiv">
<a href="http://www.seamframework.org/Download"><img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_seamdownload.png" alt="" title="Seam Entwicklungsumgebung Tutorial - JBoss Seam Download" class="borderGray alignnone size-full wp-image-191" /></a>
</div>
<div class="subHeadline"><a name="HerunterladenSoftwareMySQL" class="noLink">MySQL herunterladen</a></div>
<p>Als Datenbank wird die <a href="http://dev.mysql.com/downloads/mysql/5.0.html">MySQL</a> verwendet. Dazu auch hier die letzte stabile Version 5.0 <a href="http://dev.mysql.com/downloads/mysql/5.0.html#win32">herunterladen</a>.</p>
<div class="singleImgDiv">
<a href="http://dev.mysql.com/downloads/mysql/5.0.html#win32"><img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqldownload.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Download" class="borderGray alignnone size-full wp-image-193" /></a>
</div>
<p>Sehr n&#252;tzlich f&#252;r die Datenbankentwicklung mit der MySQL sind die <a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL Admin GUI Tools</a>. Auch hier die letzte Version 5.0 herunterladen.</p>
<p>Um sp&#228;ter von einer Java Anwendung aus auf die MySQL Datenbank zugreifen zu k&#246;nnen m&#252;ssen noch die Connector Treiber f&#252;r Java &#8220;<a href="http://dev.mysql.com/downloads/connector/j/5.1.html">MySQL Connector/J</a>&#8221; heruntergeladen werden.</p>
<div class="singleImgDiv">
<a href="http://dev.mysql.com/downloads/connector/j/5.1.html"><img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqlconnectorjdownload.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Connector/J Download" class="borderGray alignnone size-full wp-image-261" /></a>
</div>
<h2><a name="Ordnerstruktur" class="noLink">Ordnerstruktur und Eclipse vorbereiten</a></h2>
<p>Ich pers&#246;nlich bevorzuge immer einen Projektordner der zu einem Thema ausgerichtet ist und alle f&#252;r dieses Thema ben&#246;tigten Tools enth&#228;lt, sofern das m&#246;glich ist. In diesem Tutorial soll eine JBoss Seam Entwicklungsumgebung erstellt werden und dazu wurde der Ordner <span class="code">D:\Projekte\JBossSeam</span> erstellt und s&#228;mtliche Tools darunter entpackt. </p>
<div class="subHeadline"><a name="OrdnerstrukturEclipse" class="noLink">Eclipse und Projekt Workspace</a></div>
<p>Gleich als erstes wird Eclipse Ganymede entpackt. Das heruntergeladene <span class="code">.zip</span> einfach direkt im Projektordner entpacken. Anschlie&#223;end sollte ein Verzeichnis <span class="code">eclipse</span> vorhanden sein. Nun fehlt nur noch der Eclipse Workspace um eine gl&#252;ckliche Eclipse Installation fertigzustellen. Alle Eclipse Projekte in dieser Umgebung sollen im <span class="code">workspace</span> Verzeichnis liegen. Dieses wird gleich neben dem <span class="code">eclipse</span> Verzeichnis erstellt.</p>
<div class="subHeadline"><a name="OrdnerstrukturJBoss" class="noLink">JBoss AS und JBoss Seam</a></div>
<p>F&#252;r den JBoss AS und JBoss Seam wird ein Verzeichnis mit dem Namen <span class="code">jboss</span> erstellt. Darin wird das JBoss AS und das JBoss Seam .zip entpackt. Anschlie&#223;end sollte in dem Verzeichnis <span class="code">jboss</span> die Ordner <span class="code">jboss-4.2.2.GA</span> und <span class="code">jboss-seam-2.0.1.GA</span> liegen.</p>
<div class="subHeadline"><a name="OrdnerstrukturVerzeichnisstruktur" class="noLink">Fertige Verzeichnisstruktur</a></div>
<p>Die fertige Verzeichnisstruktur sieht anschlie&#223;end bei mir wie folgt aus:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_ordnerstruktur5.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Verzeichnisstruktur" class="borderGray alignnone size-full wp-image-319" />
</div>
<div class="subHeadline"><a name="OrdnerstrukturEclipseStartparameter" class="noLink">Eclipse Startparameter und Teststart</a></div>
<p>Zum Starten von Eclipse habe verwende ich eine <span class="code">start_eclipse.bat</span> Datei um Eclipse noch ein paar Startparameter wie den Workspace oder VM Speicherangaben mitzugeben:</p>
<div class="codebox" style="margin-top: 5px;">@start eclipse\eclipse.exe -data workspace -vmargs -Xmx512M -Xms254M -XX:MaxPermSize=254M</div>
<p>Die Speicherangaben sind notwendig weil unter anderem der JBoss direkt aus Eclipse heraus gestartet werden soll und Eclipse somit gen&#252;gend reservierten Arbeitsspeicher zur Verf&#252;gung hat. Ist eine solche <span class="code">.bat</span> Datei oder eine Verkn&#252;pfung erstellt worden, sollte gleich getestet werden ob sich Eclipse auch starten l&#228;sst.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipseganymedelogosmall.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse Ganymede" width="455" height="118" class="borderGray alignnone size-full wp-image-197" />
</div>
<p>Ist dies der Fall fehlen noch die JBoss Tools Plugins in Eclipse und die Datenbank f&#252;r das erste &#8220;Hello World&#8221; mit JBoss Seam.</p>
<div class="subHeadline"><a name="OrdnerstrukturJBossToolsPlugins" class="noLink">JBoss Tools Eclipse Plugins installieren</a></div>
<p>Mit den <a href="http://www.jboss.org/tools/">JBoss Tools</a> erh&#228;lt man in Eclipse eine sehr gute Unterst&#252;tzung f&#252;r die Entwicklung mit den verschiedensten JBoss Elementen. Besonders sch&#228;tze ich die Hibernate Tools, die Seam Tools und den RichFaces Visual Editor f&#252;r die Syntax Unterst&#252;tzung. Mit den Seam Tools wird sp&#228;ter das Seam Projekt erstellt. Zuvor m&#252;ssen diese allerdings erst installiert werden.<br />
Bis vor kurzem mussten die einzelnen JBoss Tools Plugins noch als <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">Nightly Build unter Eclipse Ganymede installiert werden</a>. Seit ein paar Tagen ist allerdings die erste Version der JBoss Tools 3.0.0 (Alpha 1) ver&#246;ffentlicht worden und man kann diese nun &#252;ber den Eclipse Update Manager installieren. </p>
<p>Eclipse starten und im Hauptmen&#252; unter &#8220;Help->Software Updates&#8230;->Available Software Tab->Add Site&#8230;&#8221; die JBoss Tools Development Update Seite <a href="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</a> hinzuf&#252;gen.<br />
Anschlie&#223;end aufklappen und folgende im Screenshot sichtbar JBoss Tools Plugins selektieren:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_jbosstoolsinstallation.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - JBoss Tools Plugins Installation" class="borderGray alignnone size-full wp-image-243" />
</div>
<p>Die Installation mit dem Button &#8220;Install&#8230;&#8221; starten, der Lizenz zustimmen und Eclipse nach der erfolgreichen Installation neu starten.</p>
<p>Wer eine ausf&#252;hrliche Beschreibung der Installation dieser 3.0.0 Alpha 1 Version sowie Schreenshots der neuen Features sehen m&#246;chte sollte sich den Artikel &#8220;<a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">JBoss Tools 3.0.0 Alpha1 &#8211; langsam geht es vorw&#228;rts</a>&#8221; anschauen.</p>
<h2><a name="DBMySQL" class="noLink">MySQL Datenbank installieren und konfigurieren</a></h2>
<div class="subHeadline"><a name="DBMySQLInstallieren" class="noLink">MySQL Installieren</a></div>
<p>Die MySQL kann auf verschiedene Arten installiert werden. Ich verwende immer das Installationsprogramm und habe f&#252;r meine Entwicklung eine MySQL Systemweit als Windows Dienst installiert. Den Dienst starte ich immer von Hand, wenn ich ihn ben&#246;tige. Arbeitet man jeden Tag in dieser Umgebung kann man die Datenbank auch automatisch starten lassen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqldienst.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Windows Dienst" class="borderGray alignnone size-full wp-image-195" />
</div>
<p>Bei der Installation der Datenbank ist nichts zu beachten au&#223;er, dass man ein Passwort f&#252;r seinen root User vergeben sollte an das man sich erinnert ;).<br />
Anschlie&#223;en noch die MySQL GUI Tools installieren. Ist beides Installiert kann man die Installation testen indem die Datenbank gestartet und sich &#252;ber den MySQL Administrator (eines der GUI Tools) mit dem Benutzer root und dem vergebenen Passwort verbunden wird:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqladministrator.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Administrator" class="borderGray alignnone size-full wp-image-196" />
</div>
<div class="subHeadline"><a name="DBMySQLDBSchema" class="noLink">Datenbankschema in MySQL erstellen</a></div>
<p>Es wird f&#252;r das &#8220;Hello World Seam Projekt&#8221; eine Datenbank ben&#246;tigt auf die wir vollen Zugriff haben. In MySQL muss dazu ein neues Schema erstellt werden. Am einfachsten und schnellsten geht das &#252;ber das MySQL Administrator GUI Tool. Diesen also starten und sich als root auf localhost einloggen (Vorher nat&#252;rlich noch MySQL starten).<br />
Um ein neues Schema zu erstellen auf &#8220;Kataloge&#8221; klicken und anschlie&#223;en darunter in der Liste der Schemata aus dem Context Men&#252; (rechte Maustaste) &#8220;Neues Schema anlegen&#8221; selektieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqladmin_schemaerstellen.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Administrator - Schema erstellen" class="borderGray alignnone size-full wp-image-198" />
</div>
<p>Ich habe es <span class="code">seamprojekt</span> genannt. Das neu erstellte Schema wird nun neben den anderen aufgelistet.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqladmin_schemaseamprojekt.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Administrator - Schema &#039;Seamprojekt&#039; erstellt" class="borderGray alignnone size-full wp-image-297" />
</div>
<div class="subHeadline"><a name="DBMySQLDBBenutzer" class="noLink">Datenbankbenutzer in MySQL erstellen</a></div>
<p>Nun fehlt noch der Benutzer f&#252;r die Datenbankverbindung. Dazu auf den Punkt &#8220;Benutzerverwaltung&#8221; klicken und den Button &#8220;Neuen Nutzer anlegen&#8221; klicken (ist am unteren Rand zu finden). Username und Passwort vergeben &#8211; bei mir hei&#223;t hier <span class="code">seamdb</span> mit dem Passwort <span class="code">seam</span> &#8211; und den Button &#8220;Anwenden&#8221; dr&#252;cken.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqladmin_usererstellen.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Administrator - DB User erstellen" class="borderGray alignnone size-full wp-image-199" />
</div>
<p>Als letztes m&#252;ssen dem eben erstellten User noch die notwendigen Rechte vergeben werden. Dazu in dem User editieren Panel bleiben und das Tab &#8220;Schema-Berechtigungen&#8221; selektieren. Dort das zuvor erstellte Schema <span class="code">seamprojekt</span> selektieren und s&#228;mtliche Rechte zuweisen. Das ganze mit dem Button &#8220;Anwenden&#8221; abschlie&#223;en.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_mysqladmin_schemarechte.png" alt="" title="Seam Entwicklungsumgebung Tutorial - MySQL Administrator - Schema Rechte an User vergeben" class="borderGray alignnone size-full wp-image-200" />
</div>
<p>In einer Produktivumgebung vergibt man die Rechte nat&#252;rlich selektiver &#8211; hier geht es lediglich um ein Testprojekt und erste Schritte mit Seam.</p>
<div class="subHeadline"><a name="DBMySQLConnectorJ" class="noLink">MySQL Connector/J Treiber dem JBoss AS bekannt machen</a></div>
<p>Damit der JBoss sp&#228;ter von der deployten Anwendung aus auf die MySQL Datenbank zugreifen kann muss er den Datenbank Treiber im Classpath finden.<br />
Dazu das heruntergeladene MySQL Connector/J Zip entpacken und das darin liegende <span class="code">mysql-connector-java-5.1.6-bin.jar</span> in das <span class="code">lib</span> Verzeichnis der JBoss Default Server Instanz legen (<span class="code">D:\Projekte\JBossSeam\jboss\jboss-4.2.2.GA\server\default\lib</span>).</p>
<p>Nun ist die MySQL Datenbank und der JBoss soweit vorbereitet, dass es endlich an das erste Projekt gehen kann.</p>
<h2><a name="EclipseSeamProjekt" class="noLink">Erstes Hello World Seam Projekt erstellen</a></h2>
<p>Nun gelangen wir endlich zu dem interessanten Teil:  das &#8220;Hello World Seam Projekt&#8221; wird erstellt. Um ein solches Projekt zu erstellen bietet das JBoss Seam Framework uns die M&#246;glichkeit das Grundger&#252;st eines Seam Projektes generieren zu lassen, was wir nat&#252;rlich der Einfachheit halber ausnutzen wollen.</p>
<div class="subHeadline"><a name="EclipseSeamProjektSeamGen" class="noLink">Projektgenerierung mit Hilfe von Seam Gen</a></div>
<p>Seam liefert eine ziemlich coole Projektgenerierung mit dem Namen Seam Gen (<span class="code">seam-gen.bat</span>) von Haus aus mit. In diesem Tutorial soll nicht mit Seam Gen ein Eclipse Projekt erstellt werden sondern mit den JBoss Tools Plugins, die einen Projekt Wizzard f&#252;r Eclipse mitbringen. Wer einen Blick auf Seam Gen werfen m&#246;chte der kann dazu auch die ausf&#252;hrliche Anleitung aus der <a href="http://docs.jboss.com/seam/2.0.2.SP1/reference/en-US/html/gettingstarted.html">offiziellen Seam Dokumenation in Kapitel 2</a> lesen.</p>
<p>Noch ganz kurz zu dem elementaren Unterschied zwischen Seam Gen und den JBoss Tools Plugins: Mit Seam Gen wird ein einzelnes, erst einmal IDE unabh&#228;ngiges, Projekt erstellt welches alle drei Teilbereiche (Web, EJB, EAR) sowie die Teststruktur in einem Ordner h&#228;lt. Zus&#228;tzlich wird ein universelles Ant Build File f&#252;r das Deployment, Erzeugung von neuen Seam Komponenten und Tests erstellt. Man kann sp&#228;ter noch ausw&#228;hlen ob eine Projektstruktur f&#252;r Eclipse oder Netbeans erstellt werden soll. Generell arbeitet man aber dennoch IDE unabh&#228;ngig mit dem Ant Build File.</p>
<p>Das Utility &#8220;Seam Gen&#8221; befindet sich im Seam Verzeichnis unterhalb des Ordners <span class="code">seam-gen</span>. Bei uns ist es somit im Verzeichnis &#8220;<span class="code">D:\Projekte\JBossSeam\jboss\jboss-seam-2.0.1.GA\seam-gen</span>&#8221; zu finden.</p>
<div class="subHeadline"><a name="EclipseSeamProjektSeamWebProjekt" class="noLink">JBoss Seam Web Projekt erstellen</a></div>
<p>Mit den Seam Tools Eclipse Plugin werden drei Einzelprojekte (Web, EJB, EAR) erstellt die zusammen ein ganzes ergeben. Das Testprojekt wird als viertes, auch separat liegendes Projekt, erzeugt, welches auf die anderen referenziert. Mehr zu dieser Projektstruktur sehen wir sp&#228;ter noch. Arbeitet man also mit den Seam Tools legt man sich von vornherein auf die Eclipse als IDE fest und bekommt kein ANT Build File erstellt. Man deployt, erstellt und testet direkt aus Eclipse heraus.</p>
<p>Weil f&#252;r die Projektgenerierung nicht das Batch File <span class="code">seam-gen.bat</span> sondern das durch die Seam Tools verf&#252;gbare Eclipse Projekt Wizzard ist es wichtig, dass die JBoss Tools Plugins korrekt installiert wurden. Ist das der Fall kann eine JBoss Seam Perspektive in Eclipse ausgew&#228;hlt werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_seamperspective.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Seam Perspektive" class="borderGray alignnone size-full wp-image-201" />
</div>
<p>In der Seam Perspektive stehen &#252;ber das Hauptmen&#252; (File->New) verschiedene M&#246;glichkeiten f&#252;r die Erstellung von Seam Komponenten (Action, Entity, Conversation, &#8230;) und einem Seam Web Projekt zur Verf&#252;gung. Wir selektieren nat&#252;rlich die Auswahl &#8220;<strong>Seam Web Projekt</strong>&#8220;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_newseamproject.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Neues Seam Web Projekt" class="borderGray alignnone size-full wp-image-202" />
</div>
<div class="subHeadline"><a name="EclipseSeamProjektErsterWizzardDialog" class="noLink">Erster Wizzard Dialog &#8220;Seam Web Project&#8221;</a></div>
<p>Es &#246;ffnet sich ein Projekt Wizzard mit dem ersten Dialog unter dem Namen &#8220;Seam Web Project&#8221; in dem schon einiges angegeben werden muss. Als erstes wird der Projektname vergeben &#8211; in diesem Beispiel soll das Projekt &#8220;<strong>HelloWorldSeamProjekt</strong>&#8221; benannt werden.</p>
<div class="paragraph">Server Runtime Environment erstellen</div>
<p>Als n&#228;chstes muss eine Server Runtime Target konfiguriert werden, wie auch im Dialog mit der Fehlermeldung &#8220;Target Runtime cannot be emtpy&#8221; angezeigt wird.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_1.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - New Seam Project - Projektname und Server Runtime" class="borderGray alignnone size-full wp-image-247" />
</div>
<p>Um eine neue Server Runtime Target zu erstellen rechts neben der &#8220;Target Runtime&#8221; Auswahl auf den Button &#8220;New&#8230;&#8221; klicken um den JBoss AS 4.2 als Target Runtime zu selektieren.<br />
In diesem Dialog werden unter zwei Ordnern JBoss AS Server Versionen angeboten. Wir verwenden &#8220;<strong>JBoss, a division of Red Hat</strong>&#8221; denn dieser wird durch die JBoss Tools mitgeliefert. Es muss nat&#252;rlich die &#8220;JBoss 4.2 Runtime&#8221; selektiert werden und das H&#228;ckchen bei &#8220;Create a new local server&#8221; wird auch noch gesetzt. So ersparen wir uns sp&#228;ter diesen Schritt.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_targetruntime.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Target Runtime JBoss 4.2"  class="borderGray alignnone size-full wp-image-248" />
</div>
<p>Anschlie&#223;end auf den Button &#8220;Next >&#8221; dr&#252;cken. Im zweiten Schritt muss das Home Verzeichnis angegeben werden indem der JBoss AS liegt. Bei uns liegt er wie oben beschrieben unter &#8220;D:\Projekte\JBossSeam\jboss\jboss-4.2.2.GA&#8221;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_targetruntimedir.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Target Runtime JBoss 4.2 Home Verzeichnis" class="borderGray alignnone size-full wp-image-250" />
</div>
<p>Button &#8220;Next >&#8221; dr&#252;cken. Im letzten Schritt wird der Fehler &#8220;Deploy folder not specified&#8221; angeben, welcher ignoriert werden kann, denn das Deploy Directory ist ordentlich f&#252;r die Default JBoss Server Instanz angegeben. Der Target Runtime Wizzard kann somit mit dem Button &#8220;Finish&#8221; beendet werden.</p>
<p>Man gelangt wieder in den ersten Dialog &#8220;New Seam Project&#8221; und die eben konfigurierte Target Runtime wurde angegeben. Auch der Target Server wurde durch das Setzen der Checkbox &#8220;Create a new local server&#8221; im Target Runtime Dialog unter dem Namen &#8220;JBoss 4.2 Server&#8221; erstellt und nun selektiert.</p>
<div class="paragraph">JBoss Seam Configuration selektieren</div>
<p>Als n&#228;chstes muss die &#8220;Dynamic Web Module version&#8221; ausgew&#228;hlt werden. Wir verwenden die Version 2.5, welche wahrscheinlich auch schon vorselektiert wurde.</p>
<p>Die letzte wichtige Konfiguration auf diesem Dialog ist der letzte ganz unten unter &#8220;Configuration&#8221;. Dort muss &#8220;Dynamic Web Project with Seam 2.0&#8243; selektiert sein.</p>
<p>Der fertig konfigurierte Dialog sieht anschlie&#223;end wie folgt aus:</p>
<div class="singleImgDiv">
<a href="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_newseamproject2.png"><img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_newseamproject2.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - New Seam Project 2" class="borderGray alignnone size-full wp-image-251" /></a>
</div>
<p>Mit dem Button &#8220;Next >&#8221; diesen ersten Dialog verlassen und in den n&#228;chsten Schritt gehen um das Web Modul zu konfigurieren. </p>
<div class="subHeadline"><a name="EclipseSeamProjektZweiterWizzardDialog" class="noLink">Zweiter Wizzard Dialog &#8220;Web Module&#8221;</a></div>
<p>In diesem zweiten Dialog &#8220;Web Module&#8221; kann angegeben werden unter welchem Context Root (Teil der Url: http://localhost:8080/<context root>) die Web Anwendung erreichbar sein soll. Ich pers&#246;nlich verwende an dieser Stelle immer den Projektnamen und lass die Default Einstellung so stehen.<br />
Die zweite Angabe ist das &#8220;Content Directory&#8221;. Die Default Angabe ist immer &#8220;WebContent&#8221; &#8211; ich &#228;nder das immer auf &#8220;web&#8221; ab. Aber das ist Geschmackssache. Das &#8220;Content Directory&#8221; ist im Web Projekt der Ordner unter dem die <span class="code">.xhtml</span> Dateien, der <span class="code">/META-INF</span> Ordner und die <span class="code">web.xml</span> liegen.<br />
Das &#8220;Java Source Directory&#8221; bleibt auf &#8220;src&#8221; und die Checkbox f&#252;r &#8220;Generate deployment descriptor&#8221; ist selektiert.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_webmodule.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Web Module" class="borderGray alignnone size-full wp-image-253" />
</div>
<p>Mit dem Button &#8220;Next >&#8221; diesen Dialog beenden und in den n&#228;chsten Schritt gehen um die JSF Einstellungen zu konfigurieren.</p>
<div class="subHeadline"><a name="EclipseSeamProjektDritterWizzardDialog" class="noLink">Dritter Wizzard Dialog &#8220;JSF Capabilities&#8221;</a></div>
<p>In diesem Dialog bleibt alles so wie vorgegeben.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_jsfcapabilities.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - JSF Capabilities" class="borderGray alignnone size-full wp-image-305" />
</div>
<p>Somit direkt mit dem Button &#8220;Next >&#8221; weitergehen um Seam zu konfigurieren.</p>
<div class="subHeadline"><a name="EclipseSeamProjektVierterWizzardDialog" class="noLink">Vierter Wizzard Dialog &#8220;Seam Facet&#8221;</a></div>
<p>In diesem Dialog &#8220;Seam Facet&#8221; muss die &#8220;Seam Runtime&#8221; angegeben werden wie auch die Fehlermeldung &#8220;Seam Runtime is not selected&#8221; aufzeigt.</p>
<div class="paragraph">Abschnitt &#8220;General&#8221;</div>
<p>Zuerst muss die Seam Runtime erstellt und konfiguriert werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_seamruntime.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime" class="borderGray alignnone size-full wp-image-257" />
</div>
<p>Den Button &#8220;Add&#8230;&#8221; dr&#252;cken um in einen Unterdialog f&#252;r die Seam Runtime Konfiguration zu gelangen. In dem &#8220;Seam Runtime&#8221; Dialog den &#8220;Seam Home Folder&#8221;, also das Seam Verzeichnis, angeben. Bei uns liegt dieser neben dem JBoss AS unter &#8220;<span class="code">D:\Projekte\JBossSeam\jboss\jboss-seam-2.0.1.GA</span>&#8220;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_seamruntimedialog.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Dialog" class="borderGray alignnone size-full wp-image-258" />
</div>
<p>Den Unterdialog mit dem Button &#8220;Finish&#8221; beenden.</p>
<p>Anschlie&#223;end ist die &#8220;Seam Runtime&#8221; konfiguriert und da wir ein <strong>EAR Projekt</strong> erstellen wollen muss der EAR Radio Button noch selektiert werden.</p>
<div class="paragraph">Abschnitt &#8220;Connection Profile konfigurieren&#8221;</div>
<p>Nachdem die Seam Runtime nun konfiguriert ist wird bem&#228;ngelt, dass noch kein &#8220;Connection Profile&#8221; selektiert ist.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_noconnectionprofile2.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime No Connection Profile" class="borderGray alignnone size-full wp-image-268" />
</div>
<p>Um ein &#8220;Connection Profile&#8221; selektieren zu k&#246;nnen muss erst einmal eines erstellt werden. Dazu zuerst unter &#8220;Database Type&#8221; die MySQL &#8220;MySQL 5 (InnoDB)&#8221; heraussuchen und selektieren. Anschlie&#223;end neben der noch leeren &#8220;Connection Profile&#8221; Angabe den Button &#8220;New&#8230;&#8221; dr&#252;cken. Es erscheint ein neuer Connection Profile Wizzard.<br />
Darin den Connection Profile Type &#8220;MySQL&#8221; selektieren und einen Namen, z.B. &#8220;Lokale MySQL&#8221;, daf&#252;r vergeben.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_connectionprofile_1.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Connection Profile Type" class="borderGray alignnone size-full wp-image-260" />
</div>
<p>Mit dem Button &#8220;Next >&#8221; in den n&#228;chsten Schritt gehen um den MySQL Treiber zu konfigurieren.<br />
Es wird verlangt, dass man einen Treiber definiert und selektiert. </p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_connectionprofile_driver1.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Connection Profile - No Driver" class="borderGray alignnone size-full wp-image-263" />
</div>
<p>Dazu rechts neben der leeren Treiber Selektbox auf den Button (ist nur ein rundes gebliches Bild) &#8220;New Driver Definition&#8221; klicken. Anschlie&#223;end im ersten Reiter &#8220;Name/Type&#8221; den Namen und Typ der MySQL angeben. Wir verwenden eine &#8220;MySQL 5.0&#8243;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_connectionprofile_driver2.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Connection Profile - Reiter Name/Type" class="borderGray alignnone size-full wp-image-264" />
</div>
<p>Im zweiten Reiter &#8220;Jar List&#8221; muss nun der MySQL Connector/J Treiber selektiert werden. Dazu erst den voreingetragenen Wert mit dem Button &#8220;Clear All&#8221; entfernen und anschlie&#223;end mit dem Button &#8220;Add Jar/Zip&#8221; den im JBoss Default Server abgelegten MySQL Connector/J Treiber <span class="code">mysql-connector-java-5.1.6-bin.jar</span> hinzuf&#252;gen. Zur Erinnerung: der Treiber wurde im Projektordner im JBoss AS Verzeichnis abgelegt (<span class="code">D:\Projekte\JBossSeam\jboss\jboss-4.2.2.GA\server\default\lib</span>).</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_connectionprofile_driver31.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Connection Profile - Reiter Jar List" class="borderGray alignnone size-full wp-image-290" />
</div>
<p>Den Dialog mit &#8220;OK&#8221; beenden.<br />
Anschlie&#223;end k&#246;nnen die Daten f&#252;r die bereits eingerichtete Datenbank <span class="code">seamprojekt</span> (url: <span class="code">jdbc:mysql://localhost:3306/seamprojekt </span>) angegeben (user: <span class="code">seamdb</span> &amp; pw: <span class="code">seam</span>) werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_seamfacet_connectionprofile_driver4.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Runtime Connection Profile - Datenbank Konfiguration" class="borderGray alignnone size-full wp-image-266" />
</div>
<p>Mit dem Button &#8220;Test Connection&#8221; kann die konfigurierte Verbindung getestet werden. Die Pr&#252;fung sollte positiv mit einer &#8220;Ping succeeded!&#8221; Meldung enden.</p>
<p>Wenn dem nicht so ist sollte &#252;berpr&#252;ft werden ob die Datenbank generell l&#228;uft (MySQL Administrator), ob der User und das Passwort richtig vergeben sind (man kann sich z.B. mit dem MySQL Query Browser gegen die Datenbank mit dem User verbinden) und ob die Angaben in dem Dialog korrekt eingegeben wurden.</p>
<p>Funktioniert die Datenbankverbindung kann der Dialog mit &#8220;Finish&#8221; beendet werden.<br />
Nun ist das Connection Profile eingerichtet und als letztes muss noch das Datenbank Schema angegeben werden. In unserem Fall hei&#223;t es wie die konfigurierte Datenbank selbst: &#8220;seamprojekt&#8221;.</p>
<div class="paragraph">Abschnitt &#8220;Code Generation&#8221;</div>
<p>Der letzte in diesem Dialog zu konfigurierende Punkt sind die Package Vorgaben f&#252;r die Code Generation. Wenn das Projekt erstellt wird, werden initial einige Java Klassen erstellt. Die hier konfigurierten Package Namen werden daf&#252;r verwendet. Aber auch f&#252;r die sp&#228;ter &#252;ber die verf&#252;gbaren Seam Dialoge (File->New&#8230;) erstellten Klassen werden diese Angaben hier verwendet. Aus diesem Grund sollten wir sie also richtig anpassen. Man kann als Package Namen verwenden was man m&#246;chte &#8211; ich nehme nat&#252;rlich <span class="code">de.javathreads.helloworldseamprojekt</span> (Java Packages sollten &#252;brigens klein geschrieben werden).<br />
Mein vollst&#228;ndiges Dialogfenster mit konfigurierter Seam Runtime, dem Connection Profile und den Package Angaben sieht nun wie folgt aus:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_eclipse_projektwizzard_seamfacet_finish2.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Seam Facet Settings" class="borderGray alignnone size-full wp-image-323" />
</div>
<p>Den Projekt Wizzard mit dem Button &#8220;Finish&#8221; beenden.</p>
<div class="subHeadline"><a name="EclipseSeamProjektProjektGenerierung" class="noLink">Projekt Generierung</a></div>
<p>Das &#8220;Hello Word Seam Projekt&#8221; EAR Projekt wird nun automatisch erstellt und mit allen Grundkonfigurationen versehen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_projektwizzard_finish.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Projekt Wizzard - Projekt wird erstellt" class="borderGray alignnone size-full wp-image-272" />
</div>
<div class="subHeadline"><a name="EclipseSeamProjektGenerierteProjektstruktur" class="noLink">Generierte Projektstruktur</a></div>
<p>Es werden insgesamt vier Teilprojekte von den Seam Tools erstellt. Dabei sind drei f&#252;r das EAR Projekt direkt relevant und das letzte ist ein Projekt f&#252;r die Unit Tests.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_helloworldseamprojekt_teilprojekte.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Seam EAR Projekt - Teilprojekte" class="borderGray alignnone size-full wp-image-274" />
</div>
<h2><a name="ErstesDeployment" class="noLink">Erstes Deployment und das ber&#252;hmte &#8220;Hello World&#8221;</a></h2>
<p>Nachdem nun die Entwicklungsumgebung eingerichtet ist und das Projekt scheinbar ordentlich erstellt wurde kann man es direkt auf den JBoss AS deployen. Es wurde ein lauff&#228;higes EAR Projekt mit der Verwendung von Hibernate, Sun JSF-RI 1.2, RichFaces und Facelets erstellt und vorkonfiguriert. Das Projekt m&#252;sste eigentlich auch automatisch dem konfiguriertem JBoss Server f&#252;r das Deployment hinzugef&#252;gt worden sein.</p>
<div class="subHeadline"><a name="ErstesDeploymentAngabenJBoss" class="noLink">Deployment Angaben f&#252;r den JBoss &#252;berpr&#252;fen</a></div>
<p>Aber es lohnt sich das noch einmal selbst kurz zu &#252;berpr&#252;fen. Um das Projekt auf dem JBoss zu deployen muss die JBoss Server View ge&#246;ffnet werden. Diese sollte sogar schon sichtbar sein ansonsten &#252;ber das Hauptmen&#252; die JBoss Server View &#246;ffnen: &#8220;Windows->Show View->Other&#8230;->Server->JBoss Server View&#8221;. Um das Projekt dem Server f&#252;r das Deployment bekannt zu machen mit der rechten Maustaste auf den Server klicken und &#8220;Add and Remove Projects&#8230;&#8221; selektieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_serverviewaddremoveprojects.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Server View - Add and Remove Projects..." class="borderGray alignnone size-full wp-image-278" />
</div>
<p>Anschlie&#223;end ist ein Dialog zu sehen in dem auf der linken Seite alle f&#252;r ein Deployment verf&#252;gbaren Projekte und rechts alle Projekte die auf diesem JBoss deployt werden sollen zu sehen. In unserem Fall sieht man das <span class="code">HelloWorldSeamProjekt.ear</span> und eine Datasource Konfiguration <span class="code">HelloWorldSeamProjekt-ds.xml</span>. Diese Datei muss mit auf den JBoss deployt werden weil es die Datenkbankkonfiguration f&#252;r unser Hello World Projekt enth&#228;lt. Auf einem JBoss werden die Datenbankkonfigurationen in einem bestimmten XML Format in die Server Instanz gelegt und somit bekannt gemacht.<br />
Der Dialog kann mit Finish beendet werden und anschlie&#223;end ist das Projekt und die Datasource unter JBoss 4.2 sichtbar.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_serverviewaddedproject.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Server View - Projekt dem JBoss hinzugef&#252;gt" class="borderGray alignnone size-full wp-image-311" />
</div>
<div class="subHeadline"><a name="ErstesDeploymentJBossAsStarten" class="noLink">Erster Start des JBoss AS aus Eclipse heraus</a></div>
<p>Der JBoss kann nun gestartet werden. Dazu mit der rechten Maustaste auf den JBoss 4.2 Server->Start oder den Server selektieren und den gr&#252;nen runden Start Button in der Server View dr&#252;cken. Unter Windows kann es passieren, dass man gefragt wird ob der Server oder Java weiterhin geblockt werden sollen aber wir erlauben nat&#252;rlich die Ausf&#252;hrung dieser Programme.</p>
<p>Ist der Server einmal gestartet so steht als Status &#8220;Started&#8221;, was noch nicht bedeuten muss, dass dieser auch erfolgreich gestartet ist.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_eclipse_serverview_serverstatusstarted.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Server View - Server Status &quot;Started&quot;" class="borderGray alignnone size-full wp-image-313" />
</div>
<p>In der Console sind die Log Ausgaben des JBoss Servers zu sehen. Man sollte die Logausgaben des JBoss AS immer auf Fehler &#252;berpr&#252;fen. Dazu die Console View selektieren und einmal komplett nach oben scrollen um sich zu vergewissern, dass keine Exception w&#228;hrend des Starts geworfen wurde.</p>
<div class="paragraph">Fehler w&#228;hrend des JBoss Starts: Falsches DB Passwort</div>
<p>Bei mir kam z.B. beim ersten Start folgende Exception:</p>
<div class="codebox">
20:49:35,285 WARN  [SettingsFactory] Could not obtain connection metadata<br />
org.jboss.util.NestedSQLException: Could not create connection; &#8211; nested throwable:<br />
(java.sql.SQLException: Access denied for user &#8217;seamdb&#8217;@'localhost&#8217; (using password: YES));
</div>
<p>Und Tats&#228;chlich hatte sich in meiner Datasource Konfiguration in dem Passwort ein falsches Zeichen am Ende eingeschlichen (das PW lautet nur &#8220;seam&#8221; und nicht &#8220;seamd&#8221;). Die Datasource Konfiguration <span class="code">HelloWorldSeamProjekt-ds.xml</span> befindet sich &#252;brigens im EAR Projekt <span class="code">HelloWorldSeamProjekt-ear</span> unterhalb des <span class="code">resources</span> Ordner:</p>
<pre name="code" class="xml">
<datasources>
  <local-tx-datasource>
    <jndi-name>HelloWorldSeamProjektDatasource</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/seamprojekt</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>seamdb</user-name>
<password>seamd</password>
  </local-tx-datasource>
</datasources>
</pre>
<p>Das falsche Zeichen habe ich nun entfernt und den Server neu gestartet.</p>
<div class="subHeadline"><a name="ErstesDeploymentErfolgreicherJBossStart" class="noLink">Erfolgreicher JBoss AS Start und Deployment</a></div>
<p>Nun ist dieser ohne Exceptions zu werfen, wie es auch sein sollte, hochgefahren und gestartet. Das korrekte Deployment kann in der Console nachgepr&#252;ft werden. Die letzte Zeilen sagen aus, dass das Projekt deployt wurde und der Server erfolgreich gestartet ist.</p>
<div class="codebox">
21:19:47,890 INFO  [EARDeployer] Started J2EE application: file:/D:/Projekte/JBossSeam/jboss/jboss-4.2.2.GA/server/default/deploy/HelloWorldSeamProjekt-ear.ear/<br />
21:19:48,005 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080<br />
21:19:48,016 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009<br />
21:19:48,022 INFO  [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started in 24s:531ms
</div>
<p>Alle deployten Anwendungen werden, wie weiter oben in dem Server Runtime Environment konfiguriert, in die JBoss Default Server Instanz deployt. Im Jboss liegen alle Anwendungen im Verzeichnis <span class="code">default</span> unterhalb des JBoss Server Instanz Verzeichnisses. Unsere eben deployte Anwendung befindet sich somit im Verzeichnis <span class="code">D:\Projekte\JBossSeam\jboss\jboss-4.2.2.GA\server\default\deploy</span>, wie auch der Screenshot zeigt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_jbossas_appdeployt.png" alt="" title="Seam Entwicklungsumgebung Tutorial -JBoss AS - Default Instanz - Deploy Verzeichnis" class="borderGray alignnone size-full wp-image-307" />
</div>
<div class="subHeadline"><a name="ErstesDeploymentAufrufWebAnwendung" class="noLink">Aufruf der Web Anwendung im Browser</a></div>
<div class="paragraph">JBoss Management Konsole</div>
<p>Der lokale JBoss bzw. dessen Management Konsole ist per Default unter dem Port <span class="code">8080</span> erreichbar. Mit der Adresse <span class="code">http://localhost:8080</span> gelangt man somit auf die Einstiegsseite des lokalen JBoss AS:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/0808_seamentwtut_jbossas_localhostmanagement.png" alt="" title="Seam Entwicklungsumgebung Tutorial -JBoss AS - Localhost JBoss Management" class="borderGray alignnone size-full wp-image-309" />
</div>
<div class="paragraph">Aufruf der &#8220;Hello World Seam Projekt&#8221; Web Anwendung im Browser</div>
<p>Und der Aufruf zu dem generierten &#8220;Hello World Seam Projekt&#8221; ist unter der URL <span class="code"><strong>http://localhost:8080/HelloWorldSeamProjekt</strong></span>  erreichbar:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_browser_helloworldapp2.jpg" alt="" title="Seam Entwicklungsumgebung Tutorial - Generiertes Projekt erster Aufruf auf localhost" class="borderGray alignnone size-full wp-image-332" />
</div>
<div class="subHeadline"><a name="ErstesDeploymentErstesEditieren" class="noLink">Erstes Editieren: &#8220;Hello World&#8221; Text hinzuf&#252;gen</a></div>
<p>Als letztes fehlt uns noch zu unserem Gl&#252;ck der eigentliche &#8220;Hello World&#8221; Text. Dazu &#246;ffnen wir im Visual Page Editor, welcher per default f&#252;r die Dateien mit der Endung <span class="code">.xhtml</span> unter Eclipse verkn&#252;pft ist, die <span class="code">home.xhtml</span>. Diese Datei befindet sich im Web Projekt, welches das einzige Projekt ohne Zusatz ist und als Icon eine Weltkugel &#252;ber dem Ordner hat. Alternativ kann nat&#252;rlich auch mit STRG-SHIFT-R der &#8220;Open Resource&#8221; Dialog ge&#246;ffnet werden um die Datei zu &#246;ffnen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_eclipse_visualpageeditor.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Visual Page Editor" class="borderGray alignnone size-full wp-image-329" />
</div>
<p>Speichert man die &#196;nderungen startet das Hot Deployment der ge&#228;nderten Dateien auf den JBoss AS. Per default wird das Hot Deployment erst nach 15 Sekunden durchgef&#252;hrt.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_eclipse_hotdeployment.png" alt="" title="Seam Entwicklungsumgebung Tutorial - Eclipse - Hot Deployment" class="borderGray alignnone size-full wp-image-331" />
</div>
<p>Anschlie&#223;end im Browser F5 dr&#252;cken oder in der Adressleiste noch einmal die URL aufrufen und das eben erstellte &#8220;Hello World&#8221; erscheint.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/09/0808_seamentwtut_browser_helloworldapp_modified.jpg" alt="" title="Seam Entwicklungsumgebung Tutorial - Hello World Seam Projekt Aufruf im Browser" class="borderGray alignnone size-full wp-image-333" />
</div>
<h2><a name="Fazit" class="noLink">Fazit</a></h2>
<p>Obwohl es viel und evtl. sogar kompliziert aussieht werden diejenigen, die ein solches Projekt schon einmal von Hand aufgesetzt und konfiguriert haben merken, dass es nun wesentlich schneller und einfacher ging. Vor allem f&#252;r einen schnellen Einstieg in die Entwicklung eines JBoss Seam JEE5 Projektes aber auch f&#252;r ein gew&#246;hnliches Web Projekt ist dieser Weg sehr bequem.<br />
Hat man diesen Projekt Wizzard erst einmal initial konfiguriert kann man bereits konfigurierte Teile f&#252;r die Erstellung eines n&#228;chsten Projektes wiederverwenden.<br />
Ist man erst einmal vertraut mit dem Projekt Wizzard erstellt man ein neues Projekt binnen ein paar Minuten.</p>
<p>Meiner Meinung nach ist der gr&#246;&#223;te Vorteil der, dass verschiedenen Frameworks wie Facelets, JBoss RichFaces, JBoss Seam und JSF 1.2 RI bereits so konfiguriert sind, dass sie miteinander arbeiten. Unerfahrene Leute ben&#246;tigen allein an der Konfiguration f&#252;r das Zusammenspiel der einzelnen Frameworks sehr viel Zeit.</p>
<div class="subHeadline"><a name="FazitWieGehtEsWeiter" class="noLink">Wie geht es weiter?</a></div>
<p>Wer mit JBoss Seam, JBoss RichFaces, Facelets oder gar JSF generell noch nicht vertraut ist sollte damit Anfangen das generierte Projekt zu erkunden und damit herumspielen. Das f&#228;ngt bei der Verwendung von Facelets mit dem Template und Tags an, geht &#252;ber die Verwendung der RichFaces Komponenten bis hin zu Ajax, dann kommt JBoss Seam mit seinen verschiedenen Komponenten (Authentifizierung, EntityQuery, EntityHome, Scopes) bis zuletzt zu der Verwendung von JEE 5 Technologien wie EJB 3.0 und JPA/Hibernate f&#252;r die Persistierung.<br />
Man kann allein bei dem generiertem Projekt viel lernen und ausprobieren. Viel kaputtmachen kann man nicht denn zur Not erstellt man sich das Projekt einfach schnell noch einmal neu.</p>
<p>Wer sich mit den Technologien auskennt sollte das Projekt nach seinem Geschmack anpassen wie z.b. das erstellen des Dom&#228;nenmodells, Packages anpassen, Testprojekt aufsetzen usw..</p>
<p>Insgesamt sollte dieses Tutorial nur aufzeigen wie man in ein solches Projekt f&#252;r JBoss Seam aufsetzen kann und mein Fazit dar&#252;ber ist, dass es noch nie so einfach war ein solches Projekt zu starten bzw. sich zu erstellen.<br />
Ich werde wohl in Zukunft noch des &#246;fteren auf diese Tutorial Bezug nehmen &#8211; vor allem wenn ich einzelne Teile von Seam oder sonstiger JSF Entwicklung beschreiben werde.</p>
<p>Viel Spass beim ausprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/09/tutorial-mit-jboss-seam-und-jee5-unter-eclipse-starten/feed/</wfw:commentRss>
		<slash:comments>83</slash:comments>
		</item>
		<item>
		<title>JBoss Tools 3.0.0 Alpha1 &#8211; langsam geht es vorw&#228;rts</title>
		<link>http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/</link>
		<comments>http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 12:00:45 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[Eclipse Plugins]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=203</guid>
		<description><![CDATA[Endlich ist es soweit: die erste &#246;ffentliche Version der JBoss Tools 3.0.0 ist da. Dahinter steht aber immer noch ein gro&#223;es &#8220;Alpha 1&#8243; und sie wei&#223;en extra daraufhin dass man sie nicht zur Verantwortung ziehen soll:

This is an alpha version so do not just throw us away when your computer blows up while using this [...]]]></description>
			<content:encoded><![CDATA[<p>Endlich ist es soweit: die erste &#246;ffentliche Version der <a href="http://in.relation.to/Bloggers/JBossTools300Alpha1GanymedePagesxmlPortletTPTPBIRT">JBoss Tools 3.0.0</a> ist da. Dahinter steht aber immer noch ein gro&#223;es &#8220;Alpha 1&#8243; und sie wei&#223;en extra daraufhin dass man sie nicht zur Verantwortung ziehen soll:</p>
<blockquote><p>
This is an alpha version so do not just throw us away when your computer blows up while using this version..
</p></blockquote>
<p>Bisher war die einzige M&#246;glichkeit die <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">JBoss Tools als Nightly Build unter Eclipse Ganymede</a> zu verwenden. Somit ist neben der allgemeinen Nachricht, dass eine erste <strong>offizielle Vorabversion Alpha 1</strong> existiert, ist die zweite sch&#246;ne Nachricht, dass man die JBoss Tools 3.x nicht mehr manuell herunterladen muss (Nightly Build) sondern <strong>diese &#252;ber eine Eclipse Update Seite angeboten werden</strong>.<br />
Die URL zu der JBoss Tools Development Update Seite ist:<br />
<span class="code"><a href="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</a></span><br />
Diese wie gewohnt in Eclipse im Hauptmen&#252; unter &#8220;Help->Software Updates&#8230;->Available Software Tab->Add Site..&#8221; hinzuf&#252;gen und anschlie&#223;end aufklappen um die einzelnen Plugins zu selektieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Development Update Site" class="alignnone size-full wp-image-204" />
</div>
<p>In der Alpha 1 Version der JBoss Tools 3.0.0 bestehen schon einige Erneuerungen, die auch schon durch die Nightly Build Version dem ein oder anderen bekannt sind:</p>
<ul>
<li><a href="#SeamTools">Seam Tools &#8211; grafische pages.xml</a></li>
<li><a href="#VisualPageEditor">Visual Page Editor &#8211; EL Ersetzung, CSS Editor und Geschwindigkeitsverbesserungen</a></li>
<li><a href="#HibernateTools">Hibernate Tools &#8211; Dali Unterst&#252;tzung f&#252;r Hibernate</a></li>
<li><a href="#JBossAsTools">JBoss AS Tools &#8211; Konfigurierbare Server Ports</a></li>
<li><a href="#WebServices">Web Services &#8211; Eclipse WTP WebServices Unterst&#252;tzung f&#252;r JBossWS</a></li>
</ul>
<p>Im folgenden die einzelnen neuen JBoss Tools Plugins Features mit Screenshots.<br />
<span id="more-203"></span></p>
<div class="subHeadline"><a name="SeamTools" class="noLink">Seam Tools</a></div>
<p>Die Konfigurationsdatei f&#252;r die Navigation &#252;ber die xhtml Seiten einer Seam Anwendung haben in der <span class="code">pages.xml</span> ihren Platz. Diese k&#246;nnen nun auch grafisch dargestellt werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_pagesxmlgraphical.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Seam Tools - Grafische pages.xml" class="borderGray alignnone size-full wp-image-205" />
</div>
<p>Die dazugeh&#246;rige Outline der grafischen Ansicht sowie der allgemeinen Konfiguration ist auch vorhanden:</p>
<table style="width: 100%">
<tr>
<td style="width: 50%; text-align:center;">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_pagesxmloutline1.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Seam Tools - Grafische pages.xml Outline" width="238" height="302" class="borderGray alignnone size-full wp-image-206" />
</td>
<td style="width: 50%; text-align:center;">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_pagesxmloutline2.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Seam Tools - pages.xml Outline der Konfiguration" width="232" height="305" class="borderGray alignnone size-full wp-image-207" />
</td>
</tr>
</table>
<div class="subHeadline"><a name="VisualPageEditor" class="noLink">Visual Page Editor</a></div>
<p>Wer mit dem Visual Page Editor f&#252;r xhtml/jsf Seiten arbeitet erh&#228;lt auch noch zwei interessante Erweiterungen. Die erste erlaubt f&#252;r die visuelle Vorschau im Editor eine konfigurierbare EL Ersetzung. So kann z.b. der Pfad zu einem Bild, welcher &#252;ber eine EL (z.B. <span class="code">#{projectConst.imgPath}</span>) durch einen Ausdruck ersetzt werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_visualpageeditor_elsubst.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Visual Page Editor - EL Ersetzung" class="borderGray alignnone size-full wp-image-211" />
</div>
<p>Bisher wurden EL Ausdr&#252;cke nicht interpretiert sondern einfach ausgegeben.</p>
<p>Die zweite Erweiterung erm&#246;glicht den Aufruf eines CSS Editors mit Vorschau f&#252;r Style Angaben direkt an einem Element. Selektiert man ein Element (Komponente) im Visual Page Editor ist es m&#246;glich &#252;ber die Eigenschaften (Properties View) den CSS Editor zu &#246;ffnen.</p>
<table style="width: 100%">
<tr>
<td style="width: 50%; text-align:center;">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_visualpageeditor_csseditorlink.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Visual Page Editor - CSS Editor Link" class="borderGray alignnone size-full wp-image-212" />
</td>
<td style="width: 50%; text-align:center;">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_visualpageeditor_csseditor.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Visual Page Editor - CSS Editor" class="borderGray alignnone size-full wp-image-213" />
</td>
</tr>
</table>
<p>Jetzt ist man wieder einem Schritt n&#228;her eine Seite komplett im Visual Editor bearbeiten zu k&#246;nnen. Ich bin allerdings immer noch der Meinung, dass es brauchbarer ist ein funktionierendes Hot Deployment zu haben und nur im HTML Code direkt zu arbeiten.</p>
<p>Die letzte nennenswerte Erweiterung ist der Performance Update bei der visuellen Vorschau der Seite. Diese l&#228;uft nun in einem separatem Thread und blockiert Eclipse nicht mehr.</p>
<div class="subHeadline"><a name="HibernateTools" class="noLink">Hibernate Tools</a></div>
<p>Ein interessanter Schritt ist die Hibernate Unterst&#252;tzung f&#252;r die Dali Plugins f&#252;r Eclipse WTP. So kann man zuk&#252;nftig mit Hilfe der Hibernate Tools ein JPA Projekt auf Basis von Hibernate erstellen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_hibernatetools_dalisupport.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Hibernate Tools - Dali Support" class="borderGray alignnone size-full wp-image-208" />
</div>
<p>In einem Dali JPA Projekt kann man nun zudem die DDL (Data Definition Language &#8211; SQL Schema) Beschreibung direkt aus dem JPA Men&#252; generieren lassen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_hibernatetools_generateddl.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Hibernate Tools - DDL generieren" class="borderGray alignnone size-full wp-image-209" />
</div>
<p>Alternativ besteht nat&#252;rlich immer noch die M&#246;glichkeit sich die DDL mit dem HibernateTool Ant Task generieren zu lassen:</p>
<div class="codebox">
&lt;target name=&#8221;CreateSchemaDDL&#8221;&gt;<br />
&nbsp;&lt;hibernatetool destdir=&#8221;build&#8221;&gt;<br />
..
</div>
<div class="subHeadline"><a name="JBossAsTools" class="noLink">JBoss AS Tools</a></div>
<p>Bei den JBoss AS Tools kam die M&#246;glichkeit den Ports f&#252;r den JBoss manuell zu konfigurieren. Bisher wurden diese immer automatisch erkannt/gesetzt. Weitere Konfigurationen, wie z.b. Timeouts oder Server polling, sind in den JBoss AS Server Editor verschoben worden. Bisher waren diese nur &#252;ber die Eclipse Preferences zu konfigurieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_jbossastools_serverports.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - JBoss AS Tools - Server Ports" class="borderGray alignnone size-full wp-image-210" />
</div>
<div class="subHeadline"><a name="WebServices" class="noLink">Web Services</a></div>
<p>Arbeitet man mit Web Services unter dem JBoss (JBossWS) so besteht ab sofort die M&#246;glichkeit die Eclipse WTP WebServices Unterst&#252;tzung mit JBossWs zu nutzen. Dazu besteht ein eigenes Project Facet:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_webservices_jbosswswtpsupport.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Web Services - WTP WebServices Unterst&#252;tzung" class="borderGray alignnone size-full wp-image-214" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JBoss Tools unter Eclipse Ganymede verwenden</title>
		<link>http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/</link>
		<comments>http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 12:13:43 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[Eclipse Plugins]]></category>
		<category><![CDATA[Hibernate Tools]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=123</guid>
		<description><![CDATA[Wer mit Eclipse Ganymede (Eclipse 3.4 &#038; WTP 3.0) arbeiten m&#246;chte und die JBoss Tools verwendet wird bemerkt haben, dass es an mehreren Stellen hakt.



Bei mir sind die JBoss Tools an zwei Stellen fehlerhaft. Zum einen war das die JBoss Server View, die nicht mehr aufgerufen werden konnte und sich direkt mit einer Exception verabschiedet [...]]]></description>
			<content:encoded><![CDATA[<p>Wer mit <a href="http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/">Eclipse Ganymede</a> (Eclipse 3.4 &#038; WTP 3.0) arbeiten m&#246;chte und die <a href="http://www.jboss.org/tools/">JBoss Tools</a> verwendet wird bemerkt haben, dass es an mehreren Stellen hakt.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/06/eclipseganymedelogo.gif" alt="" title="Eclipse Ganymede" class="borderGray alignnone size-full wp-image-78" />
</div>
<p>Bei mir sind die JBoss Tools an zwei Stellen fehlerhaft. Zum einen war das die JBoss Server View, die nicht mehr aufgerufen werden konnte und sich direkt mit einer Exception verabschiedet hat. Dieses Problem konnte man aber einfach mit der normalen WTP Server View umgehen, da diese auch die aktuellen JBoss Server unterst&#252;tzt.<br />
Zum anderen funktionierten die Hibernate Tools unter Ganymede nicht mehr. Es kam st&#228;ndig die Exception <span class="code">java.lang.NoClassDefFoundError: org/eclipse/ui/internal/util/SWTResourceUtil</span>, welche eine wirkliche Nutzung der Hibernate Tools unm&#246;glich macht.</p>
<p>Es bestehen nun zwei M&#246;glichkeiten, wenn man die <a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">Hibernate Tools</a> dringend ben&#246;tigt oder nicht auf sie verzichten m&#246;chte.</p>
<p>Die wirklich einfachste Variante ist, <strong>wieder Eclipse Europa zu verwenden</strong> und warten bis JBoss eine neue Version der JBoss Tools mit Unterst&#252;tzung f&#252;r Eclipse Ganymede ver&#246;ffentlicht.<br />
JBoss hat in ihrem <a href="http://www.jboss.com/index.html?module=bb&#038;op=viewforum&#038;f=201">JBoss Tools Forum</a> <a href="http://www.jboss.com/index.html?module=bb&#038;op=viewtopic&#038;t=135272">angek&#252;ndigt</a>, dass die <a href="http://www.jboss.org/tools/download/index.html">aktuelle Version 2.1.x</a> die letzte Version ist, die gegen Eclipse Europa (Version 3.3) entwickelt wurde. Ab sofort wird gegen Eclipse Ganymede (Version 3.4) entwickelt und daf&#252;r wurden im ersten Schritt erst einmal alle Compile Fehler beseitigt, was auch als <em>bleeding edge</em> betitelt wird.</p>
<blockquote><p>
The first build was made possible by simply fixing all compile errors that was found. Thus this is as bleeding edge as it gets &#8211; we can&#8217;t guarantee anything ;)
</p></blockquote>
<p>Aber genau diese erste Fehlerbeseitigung bringt uns direkt zur zweiten M&#246;glichkeit: Die <strong>JBoss Tools Nightly Build verwenden</strong>. Die Installation der Nightly Build Version ist eigentlich recht einfach durchzuf&#252;hren und auf den ersten Blick funktionieren die wichtigsten Plugins, wie z.B. f&#252;r mich die Hibernate Tools, bei mir in Eclipse Ganymede ohne Probleme (zumidestens bei den ersten Versuchen).</p>
<div class="singleImgDiv">
<a href="http://www.jboss.com/index.html?module=bb&#038;op=viewtopic&#038;t=135272"><img src="http://javathreads.de/data/uploads/2008/07/jbosstoolsforumeclipseganymedeumfrage.jpg" alt="" title="JBoss Tools Users Forum" class="borderGray alignnone size-full wp-image-125" /></a>
</div>
<p>Da wie auch ich manche User im JBoss Tools Forum mit den &#8220;bleeding edges&#8221; leben k&#246;nnen sind im folgenden die notwendigen Schritte notiert, die n&#246;tig sind um die Nightly Build Version zum laufen zu bekommen:</p>
<ul>
<li>Herunterladen der letzten <a href="http://download.jboss.org/jbosstools/builds/nightly/latestBuild.html">JBoss Tools Nightly Build</a> Version. Empfehlen w&#252;rde ich das &#8220;ALL&#8221;-Zip in dem alle Plugins enthalten sind, denn damit erspart man sich Probleme mit den Abh&#228;ngigkeiten.</li>
<li>Entpacken des Zips in einen Order der Wahl, z.B. <span class="code">D:\\eclipse-plugins\jbosstoolsnightly</span></li>
<li>Unter dem Eclipse Ganymede Installationsordner einen <span class="code">links</span> Ordner erstellen.</li>
<li>In diesen <span class="code">Links</span> Ordner eine <span class="code">.link</span> Datei erstellen &#8211; z.B. <span class="code">jbosstoolsnightly.link</span></li>
<li>In dieser Link Datei den Pfad zu den JBoss Tools Plugin Ordner angeben in dem der entpackte Nightly Build liegt: <span class="code">path=d:/eclipse-plugins/jbosstoolsnightly</span></li>
<li>Die alten JBoss Tools aus Eclipse Ganymede deinstallieren (Hauptmen&#252;->Help->Software Updates&#8230;->Installed Software Tab->Die verschiedenen JBoss Tools Plugins selektieren und &#8220;Uninstall&#8221; klicken)</li>
<li>Eclipse Ganymede mit dem Parameter &#8220;-clean&#8221; neu starten.</li>
</ul>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/jbosstoolsnightlybuild.png" alt="" title="JBoss Tools Nightly Build" class="borderGray alignnone size-full wp-image-124" />
</div>
<p>Alternativ kann man das Nightly Build auch direkt in den Eclipse Ordner kopieren allerdings hat man dann eher Schwierigkeiten die verschiedenen Plugins sowie Abh&#228;ngigkeiten wieder zu deinstallieren. Von daher ist die sauberere Methode die Plugins in einem separatem Ordner zu entpacken und in Eclipse nur darauf zu verweisen. Der Vorteil liegt darin, dass man die Plugins sehr einfach aktualisieren oder wieder entfernen kann.</p>
<p>Eine m&#246;gliche Alternative zu dem manuellen Installieren der Nightly Build Version wurde auch schon im Forum angek&#252;ndigt: Man m&#246;chte eine Update Seite f&#252;r die Nightly Build Versionen zur Verf&#252;gung stellen um das Updaten der Plugins so einfach wie m&#246;glich w&#228;hrend der Entwicklung zu machen.</p>
<blockquote><p>
We are going to provide update-site for nightly builds to have easy way to get updates for JBoosTools during development cycle.
</p></blockquote>
<p>Ich glaube irgendwo gelesen zu haben, dass die JBoss Tools 3.0 erst gegen Ende des Jahres rauskommen sollen (Version GA). Von daher kann die hier beschriebene L&#246;sung doch f&#252;r den ein oder anderen n&#252;tzlich sein.</p>
<div class="subHeadline">[Update] Zur offiziellen JBoss Tools Alpha 1 Version updaten</div>
<p>Nach einiger Zeit ist die erste offizielle JBoss Tools Alpha 1 ver&#246;ffentlicht worden und &#252;ber die Development Update Seite verf&#252;gbar. Es bestehen zwei M&#246;glichkeiten auf diese Version zu updaten:</p>
<div style="text-decoration:underline;">Die bereits installierten Nightly Build Versionen updaten</div>
<p>Dazu unter den Software Updates das &#8220;Installed Software&#8221; Tab die installierten Plugins selektieren und den Button &#8220;Update&#8230;&#8221; dr&#252;cken.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_nightlybuild_updateselection.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Nightly Build Update - Selektion" class="borderGray alignnone size-full wp-image-215" />
</div>
<p>Anschlie&#223;end noch best&#228;tigen und die neue Alpha 1 Version wird installiert.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/08/jbosstools3alpha1_nightlybuild_updateconfirm.png" alt="" title="JBoss Tools 3.0.0 Alpha 1 - Nightly Build Update - Best&#228;tigung" class="borderGray alignnone size-full wp-image-217" />
</div>
<div style="margin-top: 25px; text-decoration:underline;">JBoss Tools Nightly Build deinstalliern und &#252;ber Software Updates neu installieren</div>
<p>Weil ein f&#252;r die Nightly Build Version ein separater Ordner verwendet wurde kann dieser einfach gel&#246;scht oder umbenannt werden. Anschlie&#223;end die <span class="code">.link</span> Datei aus dem <span class="code">eclipse/links</span> Ordner entfernen und Eclipse mit dem Paramter <span class="code">-clean</span> neu starten.<br />
Die JBoss Tools Nightly Build sind nun nicht mehr vorhanden und k&#246;nnen neu und sauber &#252;ber die Development Update Seite <a href="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</a> neu installieren.<br />
Einen ausf&#252;hrlicheren Bericht &#252;ber die Alpha 1 Version ist in dem Artikel &#8220;<a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">JBoss Tools 3.0.0 Alpha1 &#8211; langsam geht es vorw&#228;rts</a>&#8221; zu finden.</p>
<div class="subHeadline">[Update] JBoss Tools Nightly Build Update Seite verwenden</div>
<p>Mittlerweile besteht die M&#246;glichkeit die JBoss Tools Nightly Build Version auch &#252;ber eine <a href="http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/">Update Seite zu installieren</a>.</p>
<div style="margin-top: 20px">
Updates<br />
[21.08.] <em>Abschnitt &#8220;Zur offiziellen JBoss Tools Alpha 1 Version updaten&#8221; hinzugef&#252;gt</em>
</div>
<p>[21.10.] <em>Link zur Beschreibung der JBoss Tools Nightly Build Update Seite hinzugef&#252;gt</em></p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Eclipse Ganymede als (JEE) Entwicklungsumgebung</title>
		<link>http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/</link>
		<comments>http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 20:22:42 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ganymede]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JEE]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=76</guid>
		<description><![CDATA[Die Eclipse Foundation hat ein neues Eclipse mit dem Namen Ganymede ver&#246;ffentlicht. Wie auch die ersten beiden Eclipse Versionen Callisto und Europa wurde das neue Eclipse wieder nach einem Jupiter Mond benannt. F&#252;r die Zukunft bleibt also nur noch ein weiterer Mond &#252;brig und somit m&#252;sste Eclipse in seiner n&#228;chsten Version Io hei&#223;en, wenn sie [...]]]></description>
			<content:encoded><![CDATA[<p>Die Eclipse Foundation hat ein neues Eclipse mit dem Namen <a href="http://www.eclipse.org/ganymede/">Ganymede</a> ver&#246;ffentlicht. Wie auch die ersten beiden Eclipse Versionen Callisto und Europa wurde das neue Eclipse wieder nach einem <a href="http://en.wikipedia.org/wiki/Galilean_moons">Jupiter Mond</a> benannt. F&#252;r die Zukunft bleibt also nur noch ein weiterer Mond &#252;brig und somit m&#252;sste Eclipse in seiner n&#228;chsten Version <a href="http://en.wikipedia.org/wiki/Io_(moon)">Io</a> hei&#223;en, wenn sie dieser Linie treu bleiben.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/06/eclipseganymedelogo.gif" alt="" title="Eclipse Ganymede" class="borderGray alignnone size-full wp-image-78" />
</div>
<p>Aber wie am besten starten und was gibt es neues in Ganymede? Dieser Artikel ist in folgenden Abschnitte unterteilt:</p>
<ul>
<li><a href="#ganymedePackages">Eclipse Ganymede Packages</a></li>
<li><a href="#erweiterungenGanymede">Erweiterungen und &#196;nderungen in Ganymede</a></li>
<li><a href="#jeeIDE">Was macht Eclipse f&#252;r JEE Entwickler interessant?</a></li>
<li><a href="#jbossTools">Die JBoss Tools in Ganymede</a></li>
<li><a href="#fazit">Fazit</a></li>
</ul>
<p><span id="more-76"></span></p>
<div class="subHeadline"><a name="ganymedePackages" class="noLink">Eclipse Ganymede Packages</a></div>
<p>Um die Entwicklung mit Eclipse zu starten bietet es sich an ein vorkonfiguriertes Eclipse Package herunterzuladen. Insgesamt stehen <a href="http://www.eclipse.org/downloads/">7 gro&#223;e Packages</a> und etliche <a href="http://www.eclipse.org/downloads/index_project.php">Projekte</a> f&#252;r Ganymede zum Download bereit. Neben der generellen &#220;bersicht, wie sie auch im folgenden Screenshot zu sehen ist, kann man die einzelnen <a href="http://www.eclipse.org/downloads/packages/compare-packages">Packages miteinander vergleichen</a> und sieht so auf einen Blick welche Tools (z.B. Mylin, Web Tools oder XML Tools) in einem Package direkt mitgeliefert werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/06/eclipseganymedepackages.gif" alt="" title="Eclipse Ganymede Packages" class="borderGray alignnone size-full wp-image-86" />
</div>
<p>Neben den altbekannten Packages wie zum Beispiele das Eclipse Classic oder die Eclipse IDE for Java Developers wird f&#252;r die folgenden Erl&#228;uterungen das <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip">Eclipse IDE for Java EE Developers</a> verwendet. Neu hinzugekommen ist &#252;brigens das Package Eclipse BIRT (Business Intelligence and Reporting Tools), welches f&#252;r die Entwicklung von Java und Java EE Anwendungen mit Reporing Belangen entsprechen soll. Dabei wird die Unterst&#252;ztung f&#252;r das <a href="http://de.wikipedia.org/wiki/BIRT">Projekt BIRT</a> schon in Eclipse mitgeliefert.</p>
<p>Ein weiteres sehr interessantes Projekt ist die <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/ganymeder">IDE for C/C++ Developers</a> mit der man, wie der Name schon vermuten l&#228;sst, C oder C++ Anwendungen entwickeln kann. Gerade in diesem Bereich sah es lange Zeit sehr mau aus und man konnte entweder zu dem gro&#223;en kommerziellen Bruder Visual Studio oder einem einfachen Editor greifen. Selbst habe ich letztes Jahr einiges mit der C/C++ Entwicklungsumgebung gearbeitet und war damals auch schon positiv &#252;berascht, auch wenn es noch einige komische Verhaltensmuster aufgezeigt hat. Mit Ganymede wird auch die neueste <a href="http://www.eclipse.org/cdt/downloads.php">CDT Version</a> mitgeliefert, so dass man da auch einige Verbesserungen erwarten kann. Jedenfalls erobert an dieser Stelle Eclipse einen komplette anderen Bereich au&#223;erhalb von Java.</p>
<div class="subHeadline"><a name="erweiterungenGanymede" class="noLink">Erweiterungen und &#196;nderungen in Ganymede</a></div>
<p>Software Updates<br />
Mit dieser neuen Eclipse Version hat sich auch einiges ge&#228;ndert. Was einem wohl mit als erstes auffallen d&#252;rfte ist, dass das Plugin Management komplett umgebaut wurde und nun &#8220;<b>Software Updates</b>&#8221; hei&#223;t. So ist das Installieren und Verwalten von Eclipse Plugins jetzt zentraler und dadurch einfacher gestaltet und kann durch das Hauptmen&#252; (Help->Software Updates) aufgerufen werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/eclipseganymede-softwareupdates.png" alt="" title="Eclipse Ganymede Software Updates" class="borderGray alignnone size-full wp-image-88" />
</div>
<p>Neben diesem neuen Auftreten mit dem Update Manager ist es nun m&#246;glich installierte Features/Plugins auf ihre Aktualit&#228;t zu pr&#252;fen. Daf&#252;r ist der <b>Automatic Update Scheduler</b> zust&#228;ndig. So kann zum einen der Zeitpunkt an dem nach m&#246;glichen Updates geschaut werden soll konfiguriert werden wie z.B. bei jedem Starten von Eclipse (Default Einstellung) oder aber auch nur einmal in der Woche. F&#252;r den Fall, dass neue Updates f&#252;r Features gefunden wurden kann entschieden werden was passieren soll. In der Voreinstellung wird man lediglich darauf hingwiesen, man kann aber auch einstellen, dass das neue Update direkt installiert werden soll. Allerdings w&#228;re ich mit dieser Einstellung vorsichtig. Nat&#252;rlich kann man diese &#220;berpr&#252;fung auf neue Updates auch ausschalten</p>
<p>Java Editor<br />
Eclipse Ganymede hat aber auch einige Erweiterungen f&#252;r die Java Entwicklung im Editor und Refactoring mitgebracht. Welches mit am schnellsten auffallen d&#252;rfte ist die <b>Java Editor Breadcrumb Trail</b>. Diese Editor Breadcrumb Trail kann man entweder &#252;ber das Context Men&#252; (rechte Maustaste im Editor), &#252;ber die Toolbar (Icon links neben dem Hervorheben Icon) oder &#252;ber die Tastenkombination &#8220;Alt+Shift+B&#8221; eingeschaltet werden. Im folgenden Screenshot ist das Contextmen&#252; zu sehen.<br />
Darin sieht man auch gleich eine weitere neue Kleinigkeit die bei dem <b>Hervorheben von dem Vorkommen eines Attributs</b> in der Klasse zu sehen ist. W&#228;hrend bisher immer nur generell das Vorkommen/Verwenden eines in der Klasse grau hervorgehoben wurde, wird in Ganymede zwischen einer lesenden und einer schreibenden Aktion unterschieden. &#220;berschreibt man ein Attribut, wie hier in diesem Beispiel im Setter die Referenz der Adresse, so wird dieses Attribut anders hervorgehoben als bei einer lesenden Aktion. Dieses Erweiterung scheint klein, aber w&#228;hrend der Entwicklung kann sich das als sehr n&#252;tzlich erweisen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/eclipseganymede-editorbreadcrumb_1.png" alt="" title="Eclipse Ganymede - Editor Breadcrumb &#246;ffnen" class="borderGray alignnone size-full wp-image-94" />
</div>
<p>Ist die Editor Breadcrumb Trail einmal ge&#246;ffnet kann man in dieser wie im Package Explorer zwischen den Packages, Klassen und Attributen navigieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/eclipseganymede-editorbreadcrumb_2.png" alt="" title="Eclipse Ganymede - Editor Breadcrumb verwenden" class="borderGray alignnone size-full wp-image-95" />
</div>
<p>Wie diese Ver&#228;nderungen in der Verwendung aussehen zeigt der Screencastblog sehr sch&#246;n in einem <a href="http://www.thescreencast.com/2008/06/what-i-like-about-eclipse-34-jdt.html">kurzen Video</a>. Erl&#228;utert werden dabei die neuen Funktionen &#8220;Klasse extrahieren &#8211; Refactoring&#8221;, &#8220;Neue Schnell-Assistenten&#8221; und der &#8220;Java Editor Breadcrumb&#8221;.</p>
<div class="subHeadline"><a name="jeeIDE" class="noLink">Was macht Eclipse f&#252;r JEE Entwickler interessant?</a></div>
<p>Dieser Abschnitt ist eigentlich genereller Natur, aber wenn man gerade bei dem Thema ist kann man auch hier noch ein oder zwei Worte verlieren. Einer der wirklich gro&#223;en Vorteile in der Entwicklung einer Web oder JEE Anwendung ist die Toolunterst&#252;tzung f&#252;r die verschiedenen Aspekte bei der JEE Entwicklung. Es beginnt bei der Verwendung von JPA in Verbindung mit einer Datenbank, bei dem Schreiben der Deployment Descriptoren oder Konfigurationsfile &#252;ber Entwicklung der Oberfl&#228;che und dem Autocomplete im HTML/JSP Editor bis hin zum Deployen der Anwendung und Hot-Deployment auf einen Server. All das bietet mittlerweile Eclipse in seinem <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip">IDE for Java EE Developers Package</a> von Haus aus in einer mittlerweile ausgereiften Version. Das Package ist ca 160 MB gro&#223; und man kann direkt nach dem herunterladen mit der Entwicklung starten.</p>
<p>Eines der meiner Meinung nach wichtigsten Features ist die direkte Server Unterst&#252;tzung in Eclipse. Entwickelt man eine Anwendung f&#252;r den Tomcat ist das schnelle Starten und Stoppen sowie Hot Deployment einfach uners&#228;tzlich. In der Server View l&#228;sst sich der Server direkt Starten und Stoppen und einmal gestartet werden &#196;nderungen im Source Code automatisch oder mit Verz&#246;gerung direkt deployt.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/eclipseganymedejeeserverrepublish.png" alt="" title="Eclipse Ganymede JEE Server Republish" class="borderGray alignnone size-full wp-image-96" />
</div>
<p>Es werden mittlerweile viele Server von Haus aus unterst&#252;tzt aber alle g&#228;ngigen Server, wie zum Beispiel der Glassfish, bieten einen Server Adapter f&#252;r das WTP Plugin an.</p>
<p>Mitlerweile ist auch das Portieren eines Java Projektes hin zu einem WTP Projektes <a href="http://rfeest.blogspot.com/2008/05/umwandeln-eines-normalen-java-projekts.html">nicht mehr so unm&#246;glich</a> wie fr&#252;her.<br />
Im Bereich der Oberfl&#228;chen hat sich die Unterst&#252;tzung f&#252;r die Entwicklung von JSF Seiten sehr verbessert. So werden z.b. konfigurierte Backing Beans in der Autocomplete Funktion bei der Expression Language erkannt und Methoden sowie Attribute daraus angeboten. Aber auch die Validierung von HTML oder XML Seiten direkt im Editor ist sehr praktisch.</p>
<p>Ein weiterer interessanter Punkt ist die <a href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools">Data Tools Plattform</a>, welche im JEE Package schon mit enthalten sind. So kann man direkt aus Eclipse heraus sich mit einer Datenbank verbinden und Operationen darauf ausf&#252;hren.</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools"><img src="http://javathreads.de/data/uploads/2008/07/eclipseganymede-datatools.png" alt="" title="Eclipse Ganymede - Data Tools" class="borderGray alignnone size-full wp-image-90" /></a>
</div>
<p>Passend zu diesen kurzen Vorstellungen bietet sich das Tutorial &#8220;<a href="http://www.eclipse.org/articles/article.php?file=Article-EclipseDbWebapps/index.html">Creating Database Web Applications with Eclipse</a>&#8221; aus den <a href="http://www.eclipse.org/resources/?type=article">eclipse.org Resourcen</a> an um einen weiteren &#220;berblick &#252;ber die Entwicklung einer Web Anwendung mit der Toolunterst&#252;tzung von Eclipse  zu erhalten.</p>
<div class="subHeadline"><a name="jbossTools" class="noLink">Die JBoss Tools in Ganymede</a></div>
<p>Aktuell arbeite ich sehr viel mit den JBoss Tools und die habe ich dann nat&#252;rlich auch in Ganymede installiert. Es gilt nach wie vor die gleich Update URL (<a href="http://downloads.jboss.org/jbosstools/updates/stable">http://downloads.jboss.org/jbosstools/updates/stable</a>) lediglich die Art des Installieren weicht ein wenig von der Europa Version ab. Zum hinzuf&#252;gen der Update URL &#252;ber den Software Manager gehen (Hauptmen&#252;->Help->Software Updates..) dort den Reiter &#8220;Available Software&#8221; anklicken und mit dem Button &#8220;Add Site&#8230;&#8221; die Update Seite hinzuf&#252;gen.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/eclipseganymedejbosstools.png" alt="" title="Eclipse Ganymede - Software Updates JBoss Tools" class="borderGray alignnone size-full wp-image-100" />
</div>
<p>Es scheint auf den ersten Blick <del datetime="2008-07-09T07:38:14+00:00">keine</del> kaum Probleme mit der neuen Ganymede Version zu geben. Leider gibt es Probleme bei der Verwendung der JBoss Tools Plugins mit Ganymede. Konkret funktioniert die JBoss Server View sowie die Hibernate Tools nicht mehr richtig.</p>
<p>F&#252;r die JBoss Server View besteht die M&#246;glichkeit die Servier View des WTP Projektes zu verwenden. Da in der aktuellen WTP Version alle JBoss Application Server bis hin zur Version 5.0 von Haus aus unterst&#252;tzt werden kann man den JBoss AS somit auch &#252;ber die normale Server View starten und stoppen.</p>
<p>Bei den Hibernate Tools sieht das ganze schon etwas anders aus. Wechselt man in die Hibernate Perspektive so erscheint in Ganymede eine <span class="code">NoClassDefFoundError</span> Exception (<span class="code">java.lang.NoClassDefFoundError: org/eclipse/ui/internal/util/SWTResourceUtil</span> &#8211; ein <a href="http://opensource.atlassian.com/projects/hibernate/browse/HBX-1068">JIRA Eintrag</a> besteht schon). Anschlie&#223;end werden die Icons der Hibernate Configurations nicht angezeigt und bei jedem klick wird die Exception neu geworfen und blockiert die Eclipse. Somit sind die Hibernate Tools nicht wirklich brauchbar.<br />
Eine vorl&#228;ufige Abhilfe kann das Verwenden der <a href="http://www.hibernate.org/hib_docs/tools/reference/en/html/ant.html">Hibernate Tools ANT Unterst&#252;tzung</a> sein um schnell Schema DDLs oder Updates direkt auf der Datenbank durchzuf&#252;hren. Andernfalls muss, wenn die Verwendung der Hibernate Tools zwingend ist, wieder auf Eclipse Europa zur&#252;ckgegangen werden bis eine neue Version des Plugins verf&#252;gbar ist.</p>
<p>Als wirklich brauchbare Alternative um die JBoss Tools weiterhin zu verwenden besteht die M&#246;glichkeit die <b>JBoss Tools Nightly Build Version in Ganymede installieren</b>. Mehr Infos wie z.b. die Installationsanleitung gibt es <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">hier</a>.</p>
<p>Wie man die <a href="http://www.google.de/url?sa=t&#038;ct=res&#038;cd=1&#038;url=http%3A%2F%2Fwww.jboss.org%2Ftools%2F&#038;ei=D290SOTUHoPcmwO944TVAg&#038;usg=AFQjCNH4QKpvPunUz4HYPHIBB2N0yVlFsg&#038;sig2=DRVMVLlkQ0CHqtTYDoEl8Q">JBoss Tools</a> bzw. das Subprojekt <a href="http://www.hibernate.org/255.html">Hibernate Tools</a> am besten einrichtet und was man damit anstellen kann, wird in dem Artikel &#8220;<a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">Unterst&#252;tzung f&#252;r JPA &#8211; Hibernate Tools in Eclipse</a>&#8221; ausf&#252;hrlich erl&#228;utert.</p>
<div class="subHeadline"><a name="fazit" class="noLink">Fazit</a></div>
<p>Als Fallback Variante habe ich immer noch den <a href="http://www.vim.org/">VIM</a> auf dem System installiert aber solange mein Eclipse irgendwie l&#228;uft m&#246;chte ich nicht darauf verzichten. Mit <a href="http://www.eclipse.org/ganymede/">Eclipse Ganymede</a> ist wieder ein sch&#246;ner Schritt nach vorne gemacht worden und immer mehr Facetten der Entwicklung werden unterst&#252;tzt. Man kann sehr gespannt sein wie es weitergeht.</p>
<div style="margin-top: 10px; border-top:1px solid #DFE3E6; padding-top: 5px; padding-bottom: 5px;">
<em>[Update 02.07.] Abschnitt &#8220;Die JBoss Tools in Ganymede&#8221; hinzugef&#252;gt.</em><br />
<em>[Update 09.07.] Abschnitt &#8220;Die JBoss Tools in Ganymede&#8221; &#8211; Hibernate Tools Probleme notiert.</em><br />
<em>[Update 15.07.] Abschnitt &#8220;Die JBoss Tools in Ganymede&#8221; &#8211; JBoss Tools Nightly Build Hinweis hinzugef&#252;gt.</em>
</div>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

