Exécuter Jetty 7 comme service Windows

N'a Jetée 7-déposer de soutien à exécuter en tant que service à l'aide de Java Service Wrapper? Quelles options ai-je maintenant?

23
demandé sur tuler 2010-01-19 18:08:57

7 réponses

@glb, merci de pointer du doigt apache commons-daemon Procrun.

Son fonctionnement grand pour moi sur Windows 7 64 Bit, voici comment je l'ai mis en place.

pour plus d'info voir

  • procrun page par le lien de @glb
  • écran d'aide de la jetée > java-jar start.jar -- help

REM 1. Open command prompt as Administrator

mkdir C:\java\apache-commons-daemon
REM 2. Download commons-daemon binaries for windows to directory above from
REM      http://www.apache.org/dist/commons/daemon/binaries/windows/commons-daemon-1.0.15-bin-windows.zip
REM 3. unzip which will create C:\java\apache-commons-daemon\commons-daemon-1.0.5-bin-windows

mkdir C:\java\jetty
REM 4. Download jetty to directory above from
REM      http://download.eclipse.org/jetty/7.4.2.v20110526/dist/jetty-distribution-7.4.2.v20110526.zip 
REM 5. install / unzip which will create C:\java\jetty\jetty-distribution-7.4.2.v20110526

REM 6. Verify that jetty can be started
cd C:\java\jetty\jetty-distribution-7.4.2.v20110526
java -jar start.jar
REM     Look for any obvious errors on the console
REM     Open a browser at http://localhost:8080/
REM     You should be presented with the Jetty Start Page,
REM      and be able to execute the Hello World Servlet
REM     OK, that's enough,
REM      come back to the command prompt and ctrl-C to stop the jetty server

REM 7. Copy and rename commons-daemon binaries into the JETTY_HOME directory structure
REM     Note that the GUI manager is copied to JETTY_HOME,
REM      and the service exe is copied to JETTY_HOME\bin
REM     Note that both binaries get the same target name,
REM      but are placed in different directories
REM     This is just makes it easier to launch the GUI manager
REM      by not having to provide command line arguments
REM     Note that I have selected the amd64\prunsrv.exe as the service exe,
REM      I am running on Windows 7 64 bit Intel i7 Xeon
cd C:\java\jetty\jetty-distribution-7.4.2.v20110526
copy \java\apache-commons-daemon\commons-daemon-1.0.5-bin-windows\prunmgr.exe .\JettyService.exe
copy \java\apache-commons-daemon\commons-daemon-1.0.5-bin-windows\amd64\prunsrv.exe .\bin\JettyService.exe

REM 8. Time to install the service
bin\JettyService //IS//JettyService --DisplayName="Jetty Service" --Install=C:\java\jetty\jetty-distribution-7.4.2.v20110526\bin\JettyService.exe --LogPath=C:\java\jetty\jetty-distribution-7.4.2.v20110526\logs --LogLevel=Debug --StdOutput=auto --StdError=auto --StartMode=Java --StopMode=Java --Jvm=auto ++JvmOptions=-Djetty.home=C:\java\jetty\jetty-distribution-7.4.2.v20110526 ++JvmOptions=-DSTOP.PORT=8087 ++JvmOptions=-DSTOP.KEY=downB0y ++JvmOptions=-Djetty.logs=C:\java\jetty\jetty-distribution-7.4.2.v20110526\logs ++JvmOptions=-Dorg.eclipse.jetty.util.log.SOURCE=true ++JvmOptions=-XX:MaxPermSize=128M ++JvmOptions=-XX:+CMSClassUnloadingEnabled ++JvmOptions=-XX:+CMSPermGenSweepingEnabled --Classpath=C:\java\jetty\jetty-distribution-7.4.2.v20110526\start.jar --StartClass=org.eclipse.jetty.start.Main ++StartParams=OPTIONS=All ++StartParams=C:\java\jetty\jetty-distribution-7.4.2.v20110526\etc\jetty.xml ++StartParams=C:\java\jetty\jetty-distribution-7.4.2.v20110526\etc\jetty-deploy.xml ++StartParams=C:\java\jetty\jetty-distribution-7.4.2.v20110526\etc\jetty-webapps.xml ++StartParams=C:\java\jetty\jetty-distribution-7.4.2.v20110526\etc\jetty-contexts.xml ++StartParams=C:\java\jetty\jetty-distribution-7.4.2.v20110526\etc\jetty-testrealm.xml --StopClass=org.eclipse.jetty.start.Main ++StopParams=--stop

REM 9. Test that the service starts at the command prompt
bin\JettyService //TS

REM 10. To delete the service uncomment the line below
REM bin\JettyService //DS

REM 11. Now launch the GUI manager to check the parameter settings
JettyService.exe

REM You can use the GUI to start and stop the service, and to change the settings
REM If you want the GUI exe to have a different name to the service exe,
REM   then close the GUI and uncomment and run the line below
REM ren JettyService.exe JettyServiceMgr.exe
REM To launch the renamed GUI uncomment and run the line below
REM JettyServiceMgr.exe //ES//JettyService  

fait!

24
répondu crowne 2013-08-21 15:35:47

regardez Procrun Apache Commons. Vous aurez envie de parcourir la zone de téléchargement binaires natifs pour obtenir les binaires Windows.

3
répondu glb 2010-09-03 18:59:40

Dans la dernière version stable de Java Service Wrapper (JSW 3.4.1) il y a WrapperJarApp méthode de l'intégration:

ceci fait partie de ma configuration:

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp
wrapper.java.classpath.1=%WRAPPER_HOME%/lib/*.jar
wrapper.java.classpath.2=%JETTY_HOME%/lib/*.jar
wrapper.java.classpath.3=%JETTY_HOME%/start.jar
wrapper.java.library.path.1=%WRAPPER_HOME%/lib
wrapper.app.parameter.1=%JETTY_HOME%/start.jar
wrapper.app.parameter.2=%JETTY_HOME%/etc/jetty.xml
# other config params as needed
3
répondu Paul McKenzie 2010-12-07 18:19:11

Vous pouvez obtenir la src à partir de: http://svn.codehaus.org/jetty/jetty/branches/jetty-7/jetty-win32/ et construire vous-même.

mais j'ai installé manuellement l'enrubanneuse comme n'importe quelle installation "standard" d'enrubanneuse.

a pris le premier Jetty-Service.fichier conf et a changé:

wrapper.Java.mainclass=org.mortbay.jetée.win32service.JettyServiceWrapperListener de wrapper.Java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

Et ajouté...

wrapper.App.paramètre.1 = org.Eclipse.jetée.commencer.Principal <-- classe Principale wrapper.App.paramètre.2=../etc / jetty.XML wrapper.App.paramètre.x=../etc/jetty-x.xml < -- tous les fichiers de configuration supplémentaires que vous souhaitez inclure… wrapper.App.paramètre.y=../etc/jetty-y.xml

semble bien commencer et il semble s'arrêter gracieusement aussi.

2
répondu user432024 2010-10-26 16:16:30

vous pouvez exécuter comme une jetée de service Windows peut être utilisé pour exewrap.

Jetty Windows Service paquets tout-en-un sont également distribués.

http://exewrap.sourceforge.jp/jetty/

2
répondu HIRUKAWA Ryo 2014-08-18 15:12:19

j'ai eu un problème en exécutant le code de @crowne pour installer le service (j'exécute Jetty 8.1.0). Juste besoin de changer -StartMode=Java --StopMode=Java -StartMode=jvm --StopMode=jvm et supprimer ++JvmOptions=-XX:+CMSPermGenSweepingEnabled.

Après cela, j'ai créé un create_jetty_service.bat dans le dossier jetty/bin et lancez le fichier à partir de là:

set jetty_home = C:\java\jetty\jetty-hightide-8.1.0.v20120127

JettyService //IS//JettyService --DisplayName="Jetty Service" ^
--Install=%jetty_home%\bin\JettyService.exe ^
--LogPath=%jetty_home%\logs ^
--LogLevel=Debug --StdOutput=auto --StdError=auto --StartMode=jvm --StopMode=jvm --Jvm=auto ^
++JvmOptions=-Djetty.home=%jetty_home% ^
++JvmOptions=-DSTOP.PORT=8087 ^
++JvmOptions=-DSTOP.KEY=downB0y ^
++JvmOptions=-Djetty.logs=%jetty_home%\logs ^
++JvmOptions=-Dorg.eclipse.jetty.util.log.SOURCE=true ^
++JvmOptions=-XX:MaxPermSize=256M ^
++JvmOptions=-XX:+CMSClassUnloadingEnabled ^
--Classpath=%jetty_home%\start.jar ^
--StartClass=org.eclipse.jetty.start.Main ^
++StartParams=OPTIONS=All ^
++StartParams=%jetty_home%\etc\jetty.xml ^
++StartParams=%jetty_home%\etc\jetty-deploy.xml ^
++StartParams=%jetty_home%\etc\jetty-webapps.xml ^
++StartParams=%jetty_home%\etc\jetty-contexts.xml ^
++StartParams=%jetty_home%\etc\jetty-testrealm.xml ^
--StopClass=org.eclipse.jetty.start.Main ++StopParams=--stop

N'oubliez pas de lancer cmd.exe en tant qu'administrateur de la commande prend effet.

1
répondu Celso Dantas 2012-02-15 17:22:04

si vous êtes dans un peu d'un environnement verrouillé et que vous devez rester dans L'ensemble D'outils fourni par Microsoft, alors srvany,instsrv et sc sont vos amis. Malheureusement, il comprend souvent faire des modifications du registre. Ce qui est bien, c'est que c'est très flexible.

voici ce que j'ai fait récemment pour auto-démarrer un serveur central de grille de sélénium.


Copier srvany.exe en c:\tools\srvany\srvany.exe

Ouvrir la fenêtre cmd en tant qu'administrateur et exécuter:

$ cd C:\tools\srvany
$ sc create "Selenium Grid Hub Server" binPath= c:\tools\srvany\srvany.exe DisplayName= "Selenium Grid Hub Server"

RegEdit

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Selenium Grid Hub Server

Ajouter une nouvelle clé nommée Parameters Sous cette clé, ajoutez 3 nouvelles valeurs de chaîne nommées:

  • Application=>${JAVA_HOME}/bin/java.exe
  • AppParameters=>-jar selenium-server-standalone-2.42.2.jar -role hub
  • AppDirectory=>C:\tools\selenium

le mérite en revient à http://codeforjava.blogspot.com/2010/12/run-java-application-as-windows-nt.html

1
répondu Snekse 2014-09-03 18:34:46