Allgemeine Infos

Inhalt:
Installation von Eclipse
Eclipse-Projekte:
Welches Projekt
Eclipse-Projekt ohne Web-Unterstützung erstellen
J2EE.JAR referenzieren
Eclipse-Projekt mit Web-Unterstützung erstellen
Mit einem Projekt arbeiten:
Hinzufügen eines Packages
Hinzufügen der Klassen
Export und Import eines Standard-Java-Projekts
Export und Import eines WebTools-Projekts
Eclipse-Codeformatter

Infos zum Application Server:
Einrichten der FH-Umgebung
Allgemeine Infos zum Application Server
Infos zur Pointbase-Datenbank
Infos zu Application Clients


Installation von Eclipse



Eclipse-Projekte

Welches Projekt ?

Bei Verwendung des SunAppServers würde ich empfehlen die EJB-spezifischen Komponenten des WebTools-Plugins zu ignorieren und mit einem simplen Java-Projekt zu arbeiten. Damit können wir alles erledigen was zu tun ist, und wir werden nicht von XDoclet, Serverdefinitionen und sonstigen WebTools-Hilfen verwirrt.
Die Projekttypen "EJB Project" und "Application Client Project" bieten uns keine weiteren Vorteile, und die vom WTP-Plugin erzeugten Beans erfordern fast genauso viel manuelle Nachbearbeitung wie wenn wir sie komplett per Hand erzeugen würden.
Nur ein "Dynamic Web Project" ist sinnvoll da in einem Standard-Java-Projekt Fehler in JSP-Seiten nur erkennbar sind wenn wir sie gerade im Editor gewählt haben, während alle nicht gewählten Seiten ihre Fehler vor uns verbergen.


Eclipse-Projekt ohne Web-Unterstützung erstellen

Dieses Projekt können wir verwenden wenn wir nur Java-Klassen verwenden, also EJBs und Application-Client-Dateien.
Erstellen eines Projekts: Im Menü "File" den Menüpunkt "New" -> "Project" wählen.
Als Typ wird "Java Project" gewählt und der Projektname eingegeben.
Als "Contents" kann man den Default (Workspace) belassen, oder einen eigenen Ordner angeben.
Ich empfehle, die Pfade für Quelldateien und Klassendateien anzupassen, da ansonsten eine Vermischung "droht". Deshalb den Radiobutton "Create separate Source and output folders" wählen.
Neues Projekt
Nach einem Klick auf "Next" gelangen wir in die "Java Settings". Hier sehen wir dass die Quellen in einem Unterverzeichnis "src" im Projekt liegen, die erzeugten Java-Klassen in einem Unterverzeichnis "bin".
Neues Projekt
Wir klicken auf "Finish" und unser Projekt steht.

J2EE.JAR referenzieren

Hier gibt es zwei Vorgehensweisen: Das JAR im Sun-Appserver-Pfad referenzieren, oder es lokal in das Projekt zu packen. Ich bevorzuge letzteren Weg, weil dadurch auch ein compilieren ohne installierten App-Server oder auf einem Betriebssystem mit anderen Pfaden möglich ist . Deshalb wird hier letzteres Vorgehen beschrieben.
Hinweis: falls wir einen der drei oben genannten WTP-Projekttypen verwenden würden könnten wir einen Server definieren und über diese Definition würde "j2ee.jar" referenziert.

Hinzufügen eines Ordners, in dem später alle abhängigen JARs landen sollen: Rechtsklick auf das Projekt, "New" -> "Folder" wählen. Als Verzeichnisnamen "lib" angeben.
lib-Verzeichnis
Importieren von J2EE.JAR in dieses Verzeichnis. Rechtsklick auf das neu erstellte Verzeichnis, "Import" wählen. Im Dialog "Import" wird als import source "Filesystem" gewählt.
Anschließend zum Verzeichnis "C:\Programme\Sun\AppServer\lib" wechseln. In der Liste rechts werden alle JARs aufgelistet. Einen Haken vor J2EE.JAR setzen.
J2EE.JAR zufügen (Importieren)
Hinzufügen des JARs zu den Projektreferenzen: Rechtsklick auf das Projekt, "Properties" wählen. Im Bereich "Java Build Path" zur TabPage "Libraries" gehen.
J2EE.JAR referenzieren
Rechts auf "Add Jars..." klicken. Der Dialog "JAR Selection" erscheint, der alle lokal im Projekt verfügbaren JARs anbietet.
J2EE.JAR referenzieren
J2EE.JAR sollte in der Liste der Libraries auftauchen:
J2EE.JAR referenzieren
Das Ergebnis (nach Hinzufügen der Klassen und Interfaces) sollte so aussehen:
Fertiges Projekt


Eclipse-Projekt mit Web-Unterstützung erstellen

Vorbereitung: wir müssen einen J2EE-Server deklarieren. Dazu über "Window" -> "Preferences..." in die Eclipse-Konfiguration gehen. In der Kategorie "Server" -> "Installed Runtimes" klicken wir auf "Add".
Der Dialog zum Deklarieren eines Servers öffnet sich. Da der WebTools-Plugin keine Unterstützung für den SunAppServer mitbringt wählen wir eine "J2EE Runtime Library".
Neuer Server
Wir geben dem Gerät einen schönen Namen und wählen das lib-Verzeichnis des AppServer aus.
Neuer Server
Das Ergebnis sollte so aussehen (nicht vergessen den Haken vor dem Server zu setzen):
Serverkonfiguration

Jetzt legen wir mit dem Projekt los. Über "File" -> "New" -> "Other..." gelangen wir in den Dialog zum Hinzufügen von beliebigen Elementen. Wir wählen "Web" -> "Dynamic Web Project" aus.
Neues Web Project (1)
Der Assistent für ein Dynamic Web Project startet. Wir geben dem Projekt einen Namen und klicken auf "Show Advanced >>". Als unterstützte Modul-Version wählen wir "2.4" (Servlet-Spezifikation). Der Haken bei "Add module to EAR application" wird entfernt und unser schöner neuer Server ausgewählt.
Neues Web Project (2)
Jetzt auf "Finish" klicken.
Die anschließende Abfrage ob wir in die J2EE Perspektive wechseln wollen ignorieren wir.
J2EE-Perspektive
Das Ergebnis sieht so aus:
Webprojekt
Jetzt können wir Bean-Klassen und Interfaces wie im obigen Projekt zufügen. Alle Java-Dateien/Packages sollten im Verzeichnis "JavaSource" landen, alle statischen Inhalte wie JSP- und HTML-Dateien in "WebContent" (im Bild markiert). Die Fehlericons bitte ignorieren, dies lag nur daran dass keine Internetverbindung bestand und deshalb das XML-Schema zu "web.xml" nicht geladen werden konnte.
Die gesamten JSP-Seiten des Projekts werden jetzt korrekt compiliert und wie alle anderen Java-Fehler behandelt.

Das Hinzufügen von Bean-Klassen über den Assistenten würde ich nicht empfehlen da dessen Bean-Klassen eine andere ist und wir die gesamten Standard-Bean-Methoden von Hand zufügen müßten.

WICHTIG: In WebToolsPlugin 1.0M8 hat sich ein Bug eingeschlichen der dafür sorgt dass das Anlegen eines neuen Projekts mit Unterstützung für den SunAppServer nur dann möglich ist wenn der Server in der aktuellen Eclipse-Sitzung angelegt wurde. Ist das nicht der Fall dann enthält der BuildPath des Projekts nicht die JDK/JRE-Klassen (z.B. java.lang.Object), d.h. das Projekt ist zu nichts zu gebrauchen. Lösung: Vor dem Anlegen eines Dynamic Web Project die Definition des SunAppServer löschen und neu anlegen.


Hinzufügen eines Packages

Auf das Project einen Rechtsklick ausführen, "New" -> "Package" wählen. Einen sinnvollen Namen des Packages angeben.
Package zufügen

Hinzufügen der Klassen

Jetzt kann man per Rechtsklick auf das Package die EJB-Klassen und EJB-Interfaces zufügen.
Hinzufügen der Bean-Klasse (zu beachten: die Klasse soll "abstract" sein, außerdem den Haken bei "Generate Comments" setzen, wir haben schließlich ein Herz für Kommentare):
Beanklasse zufügen
Hinzufügen des Remote-Interfaces: Rechtsklick auf das Package, "New" -> "Interface" wählen.
Remoteinterface zufügen
Hinzufügen des Home-Interfaces:
Homeinterface zufügen


Export und Import eines Standard-Java-Projekts

Zum Export des Projekt wählen und per Rechtsklick -> "Export..." in den Export-Dialog gehen. Als "export destination" wird ein "Archive file" gewählt.
Exporttyp
Im Exportdialog müssen wir den Haken vor dem gewünschten Projekt entfernen und setzen sie dafür vor allen Unterverzeichnissen und den Projektdateien ".classpath" und ".project". Wichtig ist auch dass die Option "Create only selected directories" gesetzt ist. Ansonsten hätte die Pfadstruktur in der Zip-Datei eine Ebene zu viel und der Re-Import würde nicht klappen. Noch ein Ziel wählen. Das wars.
Exportoptionen

Re-Import:
Wir legen ein neues, leeres Standard-Java-Projekt an (mit den Einstellungen wie im obigen Beispiel, sprich "source and output folder"). Der Name des Projekts muss nicht der gleiche sein. Der Rest wird überschrieben. Rechtsklick auf das neue Projekt, "Import..." wählen. Der Typ ist natürlich wieder "Archive file". Wir wählen die Export-Datei aus und sind damit eigentlich schon fertig.
Import


Export und Import eines WebTools-Projekts

Funktioniert im Prinzip identisch, nur muss beim Re-Import als Zielprojekt natürlich ein "Dynamic Web Project" angelegt werden. Alle anderen Schritte sind identisch.


Eclipse-Codeformatter

Einige Empfehlungen für die Konfiguration des Eclipse-Code-Formatters findet sich hier. (JBoss-Anleitung)


Infos zum Application Server

Einrichten der FH-Umgebung

Bitte beachten !
Eigene Domain und Datenbank

Allgemeine Infos zum Application Server

Zum Überwachen des Serverlogs empfehle ich folgendes kleine Tool (erfordert .NET-Framework 1.1): WinTail.zip

Infos zur Pointbase-Datenbank

Um sich mit Pointbase zu verbinden, muss folgendes Programm gestartet werden:
C:\Programme\Sun\AppServer\pointbase\tools\serveroption\startconsole.bat

Alle Einstellungen auf Default lassen, nur bei Database URL folgendes angeben:
"jdbc:pointbase:embedded:sun-appserv-samples"

Die Tabellen findet man unter dem Schema "PBPUBLIC".

Infos zu Application Clients

Application-Clients werden mit diesem Aufruf gestartet:
C:\Programme\Sun\AppServer\bin\appclient -client MyClientJAR.jar
Nach einiger Suche durch Config-Dateien findet man heraus, dass der Zielserver in folgender Datei konfiguriert wird:
C:\Programme\Sun\AppServer\domains\domain1\config\sun-acc.xml
Hier kann man bei <target-server> den Hostnamen eintragen, den der AppClient kontakten soll:
    <target-server name="localhost" address="localhost" port="3700"/>



Version 1.0.1.0, Stand 01.11.2005
Historie:
1.0.0.0 (22.09.2005): Erstellt
1.0.1.0 (01.11.2005): Infos zum Server-neu-Anlegen bei neuem Projekt