|
|
|||
Eclipse Anwendungen als Windows ServiceRCP Anwendungen mit Eclipse bauen ist schön und gut. Manchmal braucht man aber wirklich einen Windows Service, da die Anwendung z.B. immer laufen muss und nur einen TrayIcon hat. Das ganze Unterfangen schien auf den ersten Blick gar nicht einfach. Zumal ich von Windows Interna, wie z.B. den Services keine Ahnung habe, da ich eigentlich aus der Unix Welt komme. Zum Glück habe ich ein Projekt, den Java Service Wrapper, gefunden, mit welchem es trivial ist, eine vorhandene Java Anwendung als Service laufen zu lassen. Die Konfiguration es relativ einfach, es muss nur eine Konfigurationsdatei angelegt werden und einige Bibliotheken bzw. Batch Dateien kopiert werden. Nach dem das ganze RCP Produkt exportiert wurde, müssen folgende Dateien aus der Wrapper Distribution kopiert werden.
Nachdem alle Dateien in dem entsprechendem Ort liegen, muss die Datei wrapper.conf angepasst werden: wrapper.java.command=java wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=lib/wrapper.jar wrapper.java.classpath.2=plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar # Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=lib wrapper.java.additional.1= wrapper.app.parameter.1=org.eclipse.equinox.launcher.Main wrapper.console.format=PM wrapper.console.loglevel=INFO wrapper.logfile=wrapper.log wrapper.logfile.format=LPTM wrapper.logfile.loglevel=INFO wrapper.logfile.maxsize=0 wrapper.logfile.maxfiles=0 wrapper.syslog.loglevel=NONE wrapper.console.title=Meine Eclipse Anwendungen wrapper.ntservice.name=EclipseAnwendung wrapper.ntservice.displayname=EclipseAnwendung wrapper.ntservice.description=Test Eclipse Anwendung wrapper.ntservice.dependency.1= wrapper.ntservice.starttype=AUTO_START wrapper.ntservice.interactive=true In der Konfiguration wird angegeben, dass die DLL und JAR Dateien in dem Unterordner lib befinden. Da es sich hierbei im eine Eclipse Anwendung handelt muss im Classpath org.eclipse.equinox.launcher eingetragen sein. Der wrapper.app.parameter.1 muss für Eclipse 3.4 auf org.eclipse.equinox.launcher.Main gesetzt werden. Sobald die Anwendung auf den Desktop zugreifen muss, um z.B. Fenster darzustellen, muss die Option wrapper.ntservice.interactive auf true gesetzt werden. Der Wrapper erwartet eigentlich, dass die Konfiguration an einem anderen Ort liegt, als im Ordner coniguration, aber warum sollte man dafür einen neuen Ordner anlegen? Damit da wieder alles passt, müssen noch kurz die 2 Batch Skripte angepasst werden. In beiden Dateien wird der Pfad zur wrapper.conf gesetzt, dies muss wie folgt abgeändert werden: set _WRAPPER_CONF="%_REALPATH%/configuration/wrapper.conf" Sobald das alles erlegt ist, reicht ein Doppelklick auf das Install Batch Skript, und der Service wird eingetragen |
|||
Copyright © 2009 treibsand.com. All Rights Reserved |
|||
Kommentar hinzufügen