Erreur au démarrage de l'application java en tant que services windows
J'ai téléchargé commum-daemon tool et utilisé avec une application java. J'ai créé un fichier bat comme indiqué ci-dessous
set SERVICE_NAME=sample
set PR_INSTALL=D:\commons-daemon-1.0.15-bin-windows-signed\prunsrv.exe
REM Service log configuration
set PR_LOGPREFIX=%SERVICE_NAME%
set PR_LOGPATH=D:\logs
set PR_STDOUTPUT=D:\logs\stdout.txt
set PR_STDERROR=D:\logs\stderr.txt
set PR_LOGLEVEL=Error
REM Path to java installation
set PR_JVM=C:\Java\jre7\bin\client\jvm.dll
set PR_CLASSPATH=D:\commons-daemon-1.0.15-bin-windows-signed\Daemon.jar
REM Startup configuration
set PR_STARTUP=auto
set PR_STARTMODE=jvm
set PR_STARTCLASS=com.SomeService
set PR_STARTMETHOD=start
REM Shutdown configuration
set PR_STOPMODE=jvm
set PR_STOPCLASS=com.SomeService
set PR_STOPMETHOD=stop
REM JVM configuration
set PR_JVMMS=256
set PR_JVMMX=1024
set PR_JVMSS=4000
set PR_JVMOPTIONS=-Duser.language=DE;-Duser.region=de
Dans cmd , j'ai installer le service à l'aide de la commande
prunsrv.exe //IS//sample
Après cela, un service nommé échantillon sont disponibles dans la liste de services et quand j'ai essayé de le démarrer, il montre:
Windows n'a pas pu démarrer l'échantillon sur l'Ordinateur Local. Pour plus d'information lisez le journal des événements Système. Si c'est un service non-Microsoft, contactez le fournisseur du service et reportez-vous au serveur spécifique
code d'erreur 1
Mis à JOUR
Quand je lance
prunsrv.exe //ES//sample
il montre
The data area passed to a system call is too small.
Failed to start service
Quelqu'un peut-il m'aider dans ce domaine?
- Ce n'journal des événements Système en parler?
- où puis-je trouver Sysetm journal des événements...
- Dans L'Observateur D'Événements. Démarrer > Exécuter >
eventvwr
- Journal des événements est "L'exemple de service s'est arrêté avec l'erreur service particulière: fonction Incorrecte"
- Et c'est ça? Pas plus de détails?
- Essayez de réduire la mémoire nécessaire et voir ce qui se passe. J'espère que votre programme peut démarrer sans 256M de mémoire.
- Dans l'onglet détails, il y a des détails comme ceux - EventData param1 échantillon param2 %%1 730061006D0070006C0065000000
- j'ai donc envie de commenter cette ligne ou puis-je vouloir réduire la valeur
- Même si j'ai enlevé la JVM de configuration...il dit encore le même message d'erreur
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. Dans mon cas (pas le vôtre exactement), le problème était le jvm.dll chemin, parce que la variable %JAVA_HOME% des espaces. Donc, pour résoudre ce problème, j'ai modifier l'affectation
à
et c'est tout.
Aussi, vous pouvez vérifier les variables d'affectation avec cette commande:
Pour aider les autres à le dépannage.
Si vous regardez:
https://commons.apache.org/proper/commons-daemon/procrun.html
Il y a un paramètre:
par défaut:
Un fichier journal est généré qui contient quelques messages d'erreur supplémentaires et, éventuellement, des informations utiles.
L'original interlocuteur changé le chemin d'accès au journal:
Alors il serait la meilleure chose à faire dans leur cas.
J'ai aussi eu ce message d'erreur cryptique 'La zone de données passée à un appel système est trop petit.", sans plus d'informations dans le journal de démarrage ou de la Windows/System32/Log/Apache/logs sur Win 8/Server 2008.
J'avais renommé mes paquets et l' --StartClass et --StopClass paramètres ont été mal.
Je suis d'accord avec OscarSan qu'un espace en %JAVA_HOME% pourrait provoquer le "code d'erreur 1" problème. - Je résoudre ce problème en ré-installation de JDK 1,8 à modifier le chemin d'installation de C:\Program Fichiers Java\jdk1.8.0_144 à C:\Java\jdk1.8.0_144. Le problème est résolu.