Служба Windows, созданная с помощью Apache Commons, не запускается правильно, и ошибки с путем к jvm.dll не найдены

Я запускаю java-программу в качестве службы Windows на сервере Windows 2019, сборка 1809.

Я использую procrun apache commons для создания службы Windows.

Это моя конфигурация для запуска службы

"C:\Users\Public\agent\commons-daemon-1.2.1-bin-windows\amd64\prunsrv.exe" //IS//ic^
--DisplayName "Agent"^ --Description "This is a Agent Windows Service."^
--Startup=auto^
--Install="C:\Users\Public\agent\commons-daemon-1.2.1-bin-windows\amd64\prunsrv.exe"^
--Jvm="C:\Users\Public\agent\jre\bin\server\jvm.dll"^
--Classpath "C:\Users\Public\agent\agent-jar-with-dependencies.jar"^
++Environment="PATH='C:\Windows\system32';'C:\Users\Public\agent\jre\bin'"^
--JavaHome="C:\Users\Public\agent\jre"^
--StartPath=C:\Users\Public\agent\^
--StartMode=jvm^
--StartClass=com.agent.int.Runner^
--StdOutput=C:\Users\Public\agent\service-stdout.log^
--StdError=C:\Users\Public\agent\service-stderr.log

Когда я запускаю службу, она выходит из строя с ошибкой ниже

2020-06-26 07:27:52 Apache Commons Daemon procrun stderr initialized. 
[2020-06-26 07:27:52] [error] [5716] Failed creating Java 'C:\Users\Public\agent\jre\bin\server\jvm.dll'. 
[2020-06-26 07:27:52] [error] [ 5716] The specified module could not be found. 
[2020-06-26 07:27:52] [error] [ 5716] ServiceStart returned 1. 
[2020-06-26 07:27:52] [error] [ 5716] The specified module could not be found.

Примечание. jvm.dll имеет правильный путь в конфигурации и в журнале ошибок.

Мои конфигурации

apache commons procrun 64-битный

JRE, которую я поставляю, также 64-битная.

Windows-сервер тоже 64-битный

Дайте мне знать, если потребуется какая-либо другая информация

Заранее спасибо.


person ShubhWIP    schedule 26.06.2020    source источник


Ответы (2)


Мне не удалось найти основную причину проблемы.

Как я решил проблему, я изменил StartMode с jvm на Java.

--StartMode=Java

Он работал на Windows 2016 Server, Windows 2019 Server и рабочей станции Windows 10.

Дайте мне знать, если у кого-то есть причина, по которой это не сработало с опцией jvm.

person ShubhWIP    schedule 10.07.2020

Недавно мы столкнулись с аналогичной проблемой, и основной причиной, по-видимому, была отсутствующая или слишком старая установка распространяемого пакета Microsoft Visual C++:

https://support.microsoft.com/de-de/help/2977003/the-latest-supported-visual-c-downloads

После установки/обновления пакета сервисы можно было снова запускать с --StartMode=Jvm.

person dpr    schedule 05.11.2020