This blog has moved to
http://blog.matthias-reining.com

Die bestehenden Artikel bleiben vorerst alle bei blogspot. Neue Artikel veröffentliche ich allerdings nur noch auf http://blog.matthias-reining.com

Freitag, 27. Februar 2009

Eclipse Server-Classpath bei keiner „default“ JBoss Server Configuration

Vielleicht habe ich auch nur irgendetwas in der IDE übersehen, die falschen Begriffe gegoogelt, keine Ahnung: Beim Umstellen der JBoss Server Konfiguration wird (bei mir) der Eclipse Classpath nicht korrekt gesetzt. Im folgenden mein keiner Workaround…

Folgende Eckdaten:

Eclipse Ganymede 3.4.1 (mit WTP)
JBoss 4.2.3 GA

Eigentlich wollte ich nur etwas mit JBoss Cache "herumexperimentieren", dazu mehr in einem anderen Blogeintrag. Allerdings sind die hierzu benötigten Libraries nur in der JBoss all Konfiguration enthalten (JBoss 4.2.3 hat standardmäßig minimal, default und all, wobei default, wie sollte es anders sein, die Standardeinstellung ist).

Schritt 1: Server Configuration | Runtime

Das umswitchen, in welchem Modus der Server gestartet wird, kann man in den Server Properties vornehmen. Hierzu einfach in Eclipse auf den Tab Server, JBoss selektieren und F3 drücken. Im Abschnitt Server Properites kann man neben Address, Port und JNDI Port auch die Server Configuration wählen.
Hier kann dann bspw. all ausgewählt werden (oder auch eine selbstdefinierte Konfiguration).

Schritt 2: Projekt Classpath

Anschließend ist allerdings der Classpath in den Eclipse Projekten (Bspw. Test (ß EAR Projekt), TestEJB, TestWeb) immer noch auf default. Die JBoss Libraries im Classpath verwenden immer noch die ‚alte' default Einstellung ($JBOSS_HOME/server/default/lib). Somit sind auch die weiteren Libraries nicht im Classpath verfügbar, wie etwas die JBoss Cache jar-Files.

Ich habe dies nur über folgenden Eingriff in das WTP JBoss Server Plugin hinbekommen:

Für die verschiedenen JBoss Versionen gibt es jeweils ein eigenes File unter

$ECLIPSE_HOME/org.eclipse.jst.server.generic.jboss_1.5.205.v200805140145/servers/

Bei JBoss 4.2.3 GA also jboss42.serverdef

Der Classpath lässt sich anpassen in dem man einfach in dem File alle /default/ mit /<neue Konfiguration>/ wie bspw /all/ ersetzt (eine Sicherungskopie schadet vor der Änderung sicherlich nicht ;-))

Anschließend Eclipse erneut starten, aber mit der Option –clean (hierzu in der Console in das Verzeichnis $ECLIPSE_HOME/bin wechseln und eclipse –clean aufrufen)


 

#############

Es ist natürlich auch Möglich einen komplett neuen Server anzulegen, so dass man bspw. zwischen den Servern JBoss 4.2.3(default) und JBoss 4.2.3(all) innerhalb der Eclipse Assistenten wählen kann. Habs ausprobiert: funzt. Hierzu muss das File plugin.xml und plugin.properties entsprechend angepasst werden.

Allerdings bin ich persönlich davon Fan pro Projekt nicht nur einen eigenen Workspace zu haben, sondern auch ein eigenes Eclipse. So können die Eclipse Plugins auf das Projekt zugeschnitten sein und man kommt bei neuen Projekten zwangsläufig mal in den Genuss einer neueren Eclipse Version.
Hat man pro Projekt ein eigenes Eclipse, kann man dort dann ja auch "wild" die orginal Konfiguration verändern – wie oben beschrieben ;-)