Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

GlassFish vom Quellcode selber bauen

leave a comment »

Java EE Anwendungsentwickler haben selten den Bedarf, den Application Server, den sie nutzen, selber vom Quelltext zu kompilieren. Das geht sowieso nicht, wenn die Quellen nicht öffentlich zugänglich sind. Falls es sich aber um einen Open-Source Application Server wie GlassFish handelt, der auch viele und gut dokumentierte Erweiterungspunkte anbietet, gerät man früh oder später in die Versuchung, sie für eigene Experimente zu nutzen. Oder man möchte einem bestimmten Problem auf den Grund kommen und den verwendeten Application Server entsprechend anpassen oder instrumentalisieren.

In der Vergangenheit haben mich meistens die langen und komplizierten Build-Instruktionen davon abgeschreckt. Nach der Freigabe von GlassFish 4.0 am 12 Juni habe ich doch einen Versuch unternommen und mit Überraschung festgestellt, dass ich meinen eigenen GlassFish unter 2 Stunden gebacken gekriegt habe, während ich zwischendurch meine RSS-Feeds und Emails auswerten konnte.

Entwicklungsumgebung

Ich arbeite mit Windows 7 64-bit, SP1. Zum Auschecken des GlassFish Source-Code und seine Kompilierung habe ich NetBeans 7.3.1 genutzt, da es eine integrierte Unterstützung für Subversion (der Repository-Typ von GlassFish) und Maven (das GlassFish Build-System) anbietet. Die verwendete JDK-Version war 1.7.0_25.

Auschecken der GlassFish-Sourcen

Der GlassFish Quelcode ist unter https://svn.java.net/svn/glassfish~svn zu erreichen. In NetBeans wird zunächst der Menüpunkt Team –> Subversion –> Checkout selektiert:

image

Im nächsten Schritt kann man durch Browsen von Repository-Folder die Auswahl von Branches, Tags und Revisions der gewünschten GlassFish-Version bestimmen. Man muss sicherstellen, dass das selektierte Verzeichnis die Unterverzeichnisse appserver, copyright und nucleus sowie das pom.xml enthält. Ich habe durch trunk/main und HEAD die aktuellste Entwicklung, die GlassFish 4.0.1 entspricht, ausgewählt:

image

Das Auschecken dauert eine Weile, abhängig von der Bandbreite, die man kriegt. Bei mir hat es etwa 20 min. gedauert.

Der Build-Prozess

Zunächst das GlassFish-Projekt öffnen. NetBeans erkennt es als ein Maven-Projekt anhand der pom.xml Datei:

image

Damit Maven genug Speicher für den GlassFish-Build hat, muss eine Umgebungsvariable am Anfang von <netbeans_home>\java\maven\bin\mvn.bat gesetzt werden:

set MAVEN_OPTS=-Xmx1024M -XX:MaxPermSize=512m

Dann im Context-Menü den Build-Prozess anstoßen:

image

Das dauert etwas länger, bei mir ca. 60 – 80 min., weil alle Maven-Abhängigkeiten heruntergeladen und sämtliche Source-Dateien kompiliert werden müssen. Wenn etwas schief gehen sollte, ist es hilfreich die Maven Debug-Option einzuschalten: Tools –> Options –> Java –> Maven und dann als Global Execution Options –debug setzen. Wenn man hinter einem Proxy ist, muss das Proxy in <user_home>\.m2\settings.xml eingetragen werden, das auch beim Aufklappen von Project Files in NetBeans erscheint. Der Inhlat meiner settings.xml Datei ist folgender(host name geändert!):

<settings>
<proxies>
<proxy>
<id>emea-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>emea-proxy.com</host>
<port>80</port>
</proxy>
</proxies>
</settings>

Testen der erzeugten GlassFish-Distribution

Wenn der Build-Prozess erfolgreich zu Ende gegangen ist, erscheint die fertige GlassFish-Distribution als zip-File unter main\appserver\distributions\glassfish\target. Man kann nun das zip-Archive in einem Verzeichnis auspacken. Dort wird ein Unterverzeichnis glassfish4 angelegt. Der neue GlassFish kann dann gestartet werden: “glassfish4\bin\asadmin start-domain” und über die Konsole (http://localhost:4848) zum Deployment und Test der eigenen Web-Anwendungen getestet werden. Das einzige was fehlt ist das GlassFish Update Tool.

Detailliertere, wenn auch etwas veraltete Informationen zum Builden von GlassFish vom Quellcode gibt es auf https://wikis.oracle.com/display/GlassFish/FullBuildInstructions.

<PD>

Written by fmtechteam

15/07/2013 um 11:06

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: