Samstag, 4. Februar 2012

News

präsentiert von: JAXenter
Montag, 10. September 2007

JLaunchPad: Ein Kinderspiel

Haben Sie nicht auch schon mal ein geniales Tool geschrieben, das die tägliche Entwickler-Arbeit radikal vereinfacht? Dumm nur, dass genau dieses Programm sich nur über die IDE aufrufen lässt, in der es entwickelt wurde. Jetzt gilt es, eine meist riesenhafte Datei mit allen Abhängigkeiten, konfiguriertem Classpath und eine Startdatei zu erstellen. Ändert sich irgendwas, geht das Ganze Spielchen wieder von vorne los.

Der Entwickler von JLaunchPad hatte wohl ein ähnliches Problem. Und das, obwohl es mittlerweile Tools wie Maven gibt, die Abhängigkeiten verwalten und ein einfaches Verteilen von Software ermöglichen sollten. Die darauf folgende Überlegung ist einfach: Was wäre, wenn man ein Tool hätte, dass die benötigten Softwarekomponenten selbst herunter lädt, auf den Classpath legt und die Applikation startet? JLaunchPad bietet diese Funktionalität nun an, und bedient sich hierbei auch einiger Maven-Sourcen.

Installation und Konfiguration
Die Installation gestaltet sich relativ einfach, denn JLaunchPad nimmt alles mit, was es braucht. Entpacken Sie es nach dem Download einfach in ein temporäres Verzeichnis Ihrer Wahl und editieren Sie die Datei config.bat:

SET JAVA_HOME=C:\Programme\Java\jdk1.5.0_10

Es empfiehlt sich außerdem, im Vorfeld bereits die Werte für LAUNCHER_HOME und REPOSITORY_HOME zu setzen. Ersteres ist das gewünschte Zielverzeichnis Ihrer Programminstallation, letzteres deutet auf Ihr gewünschtes Repository (wobei es sich auch um ein Maven-Repository handeln kann):

SET LAUNCHER_HOME=C:\dev\tools\launcher SET REPOSITORY_HOME=C:\dev\tools\maven-repository

Sobald dies geschehen ist, können Sie mit installer.bat einen grafischen Installer öffnen. Kontrollieren Sie hier noch mal die Einträge, ergänzen Sie bei Bedarf einen Proxy und drücken Sie „Install“. Der Installer kopiert die richtigen Dateien in Ihr Zielverzeichnis – fertig. In diesem können Sie bei Bedarf auch weitere Einstellungen vornehmen.

Eine eigene Launch-Datei
Um nun eine eigene Anwendung zu verteilen, muss Sie zunächst in einem (Maven-)Repository installiert sein. Ist dies der Fall, kann man die Applikation mit nur zwei Dateien verteilen: ein Startskript und eine Datei mit der Definition der Abhängigkeiten. Zunächst das Startskript:

SET MAIN_CLASS=de.grobmeier.test.App SET PROPERTIES="-deps.file.name=%~dp0debs.xml" "-main.class.name=%MAIN_CLASS%"

C:\dev\tools\launcher\launcher.bat %PROPERTIES% %*

Mit diesem kleinen Skript geben wir die Main-Klasse an und zusätzlich spezifizieren wir die Datei mit den Abhängigkeiten – diese Informationen stecken wir dann in launcher.bat, welches dann den Rest der Arbeit für uns erledigen soll.

Das Format der Abhängigkeiten ist ebenso leicht erklärt: es handelt sich hierbei nämlich um ein abgespecktes Maven-POM, das Ihnen mit hoher Wahrscheinlichkeit schon bekannt sein dürfte. Mein POM sieht aus wie folgt und definiert lediglich eine Abhängigkeit zu Apache Commons Logging:

   <project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.grobmeier</groupId>
    <artifactId>testapp</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <name>Test-App</name>
    <description>...</description>
    <dependencies>
     <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1</version>
        <scope>compile</scope>
     </dependency>
    </dependencies>
   </project>

Wenn Sie nun Ihre Startdatei aufrufen, lädt JLaunchPad bei Bedarf die benötigten Abhängigkeiten in Ihr Repository, konfiguriert den Classpath und führt die angegebene Main-Klasse aus – in meinem Fall erscheint das allseits beliebte und bekannte « Hello World » auf der Konsole.

Christian Grobmeier

Links & Literatur
[1] http://jlaunchpad.sourceforge.net/
[2] http://scriptlandia.blogspot.com/
[3] http://maven.apache.org

(cm)

Kommentare

Konferenzen

BASTA! 2012

BASTA! 2012

27.- 2. März 2012
Maritim Hotel Darmstadt

MobileTech Conference

MobileTech Conference

26.-28. März 2012
München

JAX 2012

JAX 2012

16.-20. April 2012
Rheingoldhalle, Mainz

BigData Con 2012

BigData Con 2012

16.-18. April 2012
Rheingoldhalle, Mainz

Business Technology Days

Business Technology Days

17.-19. April 2012
Rheingoldhalle, Mainz

International PHP Conference

International PHP Conference

3.- 6. Juni 2012
Maritim proArte, Berlin

webinale 2012

webinale 2012

4.- 6. Juni 2012
Maritim proArte Berlin

RailswayCon

RailswayCon

4.- 6. Juni 2012
Maritim proArte, Berlin

Werbung
Top-Jobs

Fraunhofer-Institut für Windenergie und Energiesystemtechnik IWES

Informatikerin / Informatiker

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Sharepoint

Sharepoint Magazin

Sharepoint

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

PHP User - Praktische Referenz für Internetenthusiasten

PHP User

Praktische Referenz für Internetenthusiasten

Bücher




Webhosting mit Host Europe