2014-11-10 2 views
0

Я загрузил инструмент commom-daemon и использовал его с помощью приложения java. Я создал файл летучей мыши, как показано нижеОшибка при запуске приложения Java как службы windows

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 

В ЦМД, я установить службу с помощью команды

prunsrv.exe //IS//sample 

После этого, сервисный названный образец стал доступен в списке услуг, и когда я пытались запустить его показывает:

Windows could not start the sample on Local Computer. For more information review the System event log. If this is a non-Microsoft service, contact the service vendor and refer to the server specific

error code 1

ОБНОВЛЕНО Когда я бегу

prunsrv.exe //ES//sample 

это показывает

The data area passed to a system call is too small. 
Failed to start service 

Может ли один помочь мне в этом?

+1

Что сообщает системный журнал событий? – Raptor

+0

Где я могу найти журнал событий Sysetm ... – user3797438

+1

В программе просмотра событий. Пуск> Выполнить> 'eventvwr' – Raptor

ответ

4

У меня была та же проблема. В моем случае (а не точно) проблема была в пути jvm.dll, потому что переменная% JAVA_HOME% имеет пробелы. Таким образом, чтобы решить эту проблему, я могу изменить назначение

set CG_PATH_TO_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll 

в

set CG_PATH_TO_JVM="%JAVA_HOME%\jre\bin\server\jvm.dll" 

и это все.

Кроме того, вы можете проверить назначение переменных с помощью этой команды:

prunmgr//ES//yourservicename_as_in_windows 
0

Я также имел эту загадочное сообщение об ошибке "Область данных, переданная в системный вызов слишком мал. без дополнительной информации в журнале запуска или в Windows/System32/LogFiles/Apache/logs на Win 8/Server 2008.

Я переименовал свои пакеты, а параметры --StartClass и --StopClass были неправильными.

2

Чтобы помочь другим устранить неполадки.

Если вы посмотрите на: https://commons.apache.org/proper/commons-daemon/procrun.html

Существует параметр:

--LogPath 

, который по умолчанию:

%SystemRoot%\System32\LogFiles\Apache 

Файл журнала создается там, который содержит некоторые дополнительные сообщения об ошибках и, возможно, полезную информацию. оригинальный спрашивающий изменил путь журналов:

set PR_LOGPATH=D:\logs 

Так смотрит, что будет подходящим, что нужно сделать в их случае.

0

Я согласился с OscarSan, что пространство в% JAVA_HOME% может вызвать проблему с кодом ошибки 1. Я решу эту проблему, повторно устанавливая JDK 1.8, чтобы изменить путь установки от C: \ Program Files Java \ jdk1.8.0_144 - C: \ Java \ jdk1.8.0_144. Задача решена.

Смежные вопросы