====== 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]]