====== JBoss 5 und Eclipse ======
Diese Anleitung beschreibt die Einrichtung von Eclipse JEE und JBoss 5.1.0 in den Laboren der Fakultät IM.
===== JBoss 5 =====
==== Installation ====
Der JBoss-AS ist auf den Labor-Rechnern nur "indirekt installiert". Er ist nicht auf ''%%C:%%'' vorinstalliert, sondern wird von einem Netzlaufwerk nach ''%%D:\java\jboss\%%'' entpackt, damit jeder Benutzer Schreibzugriff auf das JBoss-Verzeichnis erhält. Aufgerufen wird der Vorgang im Startmenü unter:
Start → Programme → Softwareentwicklung → JBoss → JBoss 5.1.0 Installation
Wenn unter ''%%D:\java\jboss\%%'' bereits eine Installation vorhanden ist, wird vorher abgefragt, ob diese überschrieben werden soll.
{{wiki:jboss-overwrite.jpg}}
**Wichtiger Hinweis:**
Falls im //Deploy//-Verzeichnis der vorhandenen JBoss-Installation auf ''%%D:%%'' Anwendungen von (anderen) Benutzern enthalten sind, werden diese gelöscht.
Je nach Auslastung des Rechners kann die Installation einige Minuten dauern. Anschließend wird der folgende Text mit Hinweisen zur [[archive:jboss:JBoss_5_Konfiguration|JBoss 5 Konfiguration]] eingeblendet:
-- JBOSS 5.1.0 -----------------------------------------------------------------
Der JBoss-AS wurde nach D:\java\jboss entpackt.
Gestartet wird er über das Startmenü oder durch "D:\java\jboss\bin\run.bat".
Bevor aber "D:\java\jboss\bin\run.bat" aufgerufen wird, müssen alle offenen
Explorer-Fenster geschlossen und neu geöffent werden, damit die Änderungen
bei den Umgebungsvariablen übernommen werden.
Wenn sie den lokalen MySQL-Server starten kann die vorkonfigurierte Datenquelle
mit dem JNDI-Namen "MysqlDS" verwendet werden. Der Aufruf des Setup-Scripts hat
den lokalen MySQL-Server normalerweise bereits gestartet und eine Datenbank für
JBoss angelegt.%%''\\
Direkter Zugriff ist auch möglich als Benutzer "root" mit Passwort "mysql".
Zur Verwendung der Datenquelle "OracleDS" müssen sie in der Datei
"D:\java\deploy\oracle-ds.xml" ihre Oracle-Kennung eintragen.
Weiterhin gibt es die Datenquelle "PostgresDS", die in der Datei
"D:\java\deploy\postgres-ds.xml" konfiguriert wird. In dieser Datei müssen
die notwendigen Parameter für einen PostgreSQL-Server eingestellt werden.
==== JDK-Pfad ====
Aus praktischen Gründen ist bei dieser JBoss-Installtion auch noch der //Java Development Kit 1.6// unter
D:\java\jdk1.6.0
enthalten. Primär wird von Eclipse zwar der unter ''%%C:\Programme\%%'' installierte //JDK// verwendet, aber für den JBoss und eigene //Build-Scripte// ([[http://ant.apache.org/|Apache Ant]]) ist es allgemein von Vorteil, wenn man einen eigenen (systemunabhängigen) Pfad zum //JDK// angeben kann. Zum Einen, weil der Pfad bei einer anderen Sprachversion des Betriebssystems anders lauten kann, zum Anderen, weil Leerzeichen im Pfad manchen Tools immer noch Probleme bereiten.
| Beispiel: Windows XP |||
| //deutsch// | vs | //englisch// |
|''C:\Programme\''|:::|''C:\Program Files\''|
==== Umgebungsvariablen ====
Beim Installationsvorgang werden auch Umgebungsvariablen gesetzt, die dafür sorgen, dass der JBoss den benötigten //JDK// (ein //JRE// alleine reicht nicht) und seine eigenen Bibliotheken findet.
^ Variable ^ Wert ^
|''%%JAVA_HOME%%'' |''%%D:\java\jdk1.6.0%%'' |
|''%%JBOSS_HOME%%''|''%%D:\java\jboss%%'' |
|''%%PATH%%'' |''%%D:\java\jdk1.6.0\bin%%''|
**Wichtiger Hinweis:**
Damit die Einstellung der Umgebungsvariablen unter Windows richtig übernommen wird, müssen alle geöffneten Windows-Explorer-Fenster geschlossen und neu geöffnet werden.
==== MySQL ====
Wie beschrieben, wird bei der Installation auch der [[public:mysql_mariadb#Lokaler_MySQL-Server|lokale MySQL-Server]] gestartet und eine leere Datenbank für JBoss erzeugt. Für Informationen zum manuellen Start und zum direkten Zugriff:
→ siehe [[public:mysql_mariadb|MySQL]]
Zum Zugriff mit JBoss wurden die Verbindungsparameter bereits bei der [[archive:jboss:JBoss_5_Konfiguration#MySqlDS|Datenquelle MySqlDS]] eingetragen.
**Wichtiger Hinweis:**
Falls die Datenbank für JBoss bereits vorhanden ist, werden alle darin enthaltenen Daten gelöscht.
==== JBoss-Start in Konsole ====
Grundsätzlich kann der JBoss als Konsolen-Anwendung (ohne Eclipse) gestartet werden. Sofern die benötigten Umgebungsvariablen richtig eingestellt wurden, geschieht dies einfach durch Aufruf von:
D:\java\jboss\bin\run.bat
Falls die Umgebungsvariablen nicht im System eingestellt wurden, können diese auch in entsprechenden Konfigurationsdatei zu ''%%run.bat%%'' angegeben werden:
D:\java\jboss\bin\run.conf.bat
Ja nach Rechnerleistung dauert der Start von JBoss dann zwischen 30 Sekunden und mehreren Minuten.
{{wiki:jboss-console.jpg}}
===== Eclipse for JEE =====
==== Start ====
Die für JBoss benötigte Eclipse-Variante wird ebenfalls über das Startmenü gestartet:
Start → Programme → Softwareentwicklung → Eclipse → Eclipse 3.6 - JEE (Helios)
Der //Eclipse-Workspace// kann auf Laufwerk ''%%D:%%'' oder ''%%G:%%'' angelegt werden. Die früheren Einschränkungen bei Projekten auf dem [[:novell_g-laufwerk|Novell G-Laufwerk]] gelten seit Februar 2012 nicht mehr. Wegen der höheren Geschwindigkeit der lokalen Festplatte wird aber trotzdem empfohlen den //Workspace// unter
D:\workspace\
anzulegen, und dann vor dem Verlassen des Rechners seine Projekte auf das ''%%G%%''-Laufwerk zu sichern.
==== JBoss-Integration ====
Das Plugin //JBossAS Tools// ermöglicht die direkte Integration eines installierten JBoss in Eclipse. Vorgenommen wird dies im //Servers// Tab durch:
Rechtsklick auf die freie Fläche → New → Server
{{wiki:eclipse-jboss-server-1.jpg}}
Als Servertyp wird //JBoss AS 5.1// ausgewählt. Der //Hostname// ist immer ''%%localhost%%'', der //Servername// kann frei gewählt werden, die Vorgabe passt aber normalerweise.
{{wiki:eclipse-jboss-server-2.jpg}}
Im nächsten Dialog muss das //Home Directory// von JBoss angegeben werden. Nach der obigen Installation ist dies:
D:\java\jboss
Wenn die ausgewählte JBoss-Installation in Ordnung ist, sollte dann unter //Configuration// der Eintrag //default// angezeigt werden. Für jede JBoss-Installation könnten verschiedene Konfigurationen angelegt werden, mit denen der Server gestartet werden kann. Normalerweise ist die //default// Konfiguration ausreichend.
{{wiki:eclipse-jboss-server-3.jpg}}
Nach der Integration wird der hinzugefügte JBoss im //Servers// Tab angezeigt. Die notwendigen Ports, die Eclipse ggf. zur Kommunikation mit JBoss verwendet, wurden automatisch ermittelt und eingetragen.
{{wiki:eclipse-jboss-server-4.jpg}}
Normalerweise wird für ''%%JNDI%%'' der Port ''%%1099%%'' verwendet. Wegen eines Konflikts mit dem Sophos-Virenscanner wurde der Port bei der obigen JBoss-Installation für die Labor-Rechner auf ''%%8099%%'' [[:jboss_5_konfiguration#Ports|eingestellt]]. Eclipse erkennt dies automatisch, aber bei eigenen Anwendungen muss der geänderte Port ggf. in der Datei ''%%jndi.properties%%'' eingetragen werden.
Der Hauptvorteil der JBoss-Integration besteht darin, dass die Bibliotheken, die bei JBoss mitgeliefert und für JEE-Anwendungen benötigt werden, dann als
JBoss 5.1 Runtime
zu Eclipse-Projekten hinzugefügt werden können, ohne dass jede Bibliothek einzeln ausgewählt werden muss.
{{wiki:eclipse-jboss-server-5.jpg}}
==== JBoss-Start in Eclipse ====
Aus dem //Servers// Tab heraus kann der JBoss mit dem entsprechenden Button ({{wiki:eclipse-jboss-start.jpg}}) auch gleich gestartet werden. Die Ausgaben des Servers werden dann im Konsolen-Tab von Eclipse angezeigt.
{{wiki:eclipse-jboss-server-6.jpg}}
Von JBoss kann auf jedem Rechner nur eine Instanz mit derselben Konfiguration gestartet werden, weil die TCP-Ports nur einmal belegt werden können. Falls der JBoss vorher bereits in der Konsole gestartet wurde, schlägt der Start in Eclipse fehl.
===== Deployment =====
Eigene JEE-Anwendungen werden auf dem JBoss-Server installiert (//deployed//), indem sie in das entsprechende Verzeichnis
D:\java\jboss\server\default\deploy\
kopiert werden. Der JBoss erkennt neue Dateien in diesem Verzeichnis, und startet die darin enthaltene Anwendung (//Hot-Deployment//). Da sich in diesem Verzeichnis die bei JBoss mitgelieferten Anwednungen und Konfigurations-Dateien befinden, gibt es für eigene Anwendungen zusätzlich das leere //Deploy//-Verzeichnis:
D:\java\deploy\
Es funktioniert prinzipiell genauso wie das andere //Deploy//-Verzeichnis, aber bei einigen Anwendungen kann es dennoch zu Fehlern führen. In so einem Fall muss dann doch das erste //Deploy//-Verzeichnis verwendet werden.
===== Siehe auch =====
* [[archive:jboss:JBoss_5_Konfiguration|JBoss 5 Konfiguration]]
* [[archive:Eclipse-Varianten|Eclipse-Varianten]]
* [[archive:Eclipse_und_Subversion|Eclipse und Subversion]]
* [[archive:subversion-server|Subversion-Server]] der Fakultät IM
* [[archive:tortoise-svn|Tortoise-SVN]]
===== Weblinks =====
* [[http://www.jboss.org/|JBoss AS]]
* [[http://www.eclipse.org/|Eclipse Foundation]]