Демон Apache commons Не удалось создать ошибку Java

Я пытаюсь запустить службу Windows с помощью демона Apache commons. Он работает в Windows XP, но я пытаюсь запустить его в Windows 7 x64. Он не запускается, и я получаю следующую ошибку в журналах:

[2010-12-13 17:21:19] [информация] Запуск демона Commons Daemon (1.0.3.0) запущен [2010-12-13 17:21:19] [информация] Запуск службы NodeService... [2010- 12-13 17:21:19] [информация] Запуск службы... [2010-12-13 17:21:19] [ошибка] Не удалось создать java [2010-12-13 17:21:19] [ошибка] ServiceStart вернул 1 [2010-12-13 17:21:19] [информация] Запуск службы завершен. [2010-12-13 17:21:19] [info] Запуск демона Commons завершен

Я установил JAVA_HOME и добавил java-бин в PATH, просто чтобы быть уверенным. Я не уверен, почему он не запускается, или это связано с операционной системой x64. Изначально он был разработан для 32-битной системы.


person anom217    schedule 13.12.2010    source источник


Ответы (8)


Просто столкнулся с той же проблемой. Вы можете решить эту проблему, изменив путь JVM, чтобы он указывал на версию x64, поскольку по умолчанию она использует x32.

  • В Windows щелкните правой кнопкой мыши приложение на панели задач и выберите «Настроить».

  • Перейдите на вкладку Java.

  • Установите виртуальную машину Java на / или используйте кнопку выбора пути:

    C:\Program Files\Java\jdk1.7.0_21\jre\bin\сервер\jvm.dll

person Nath    schedule 23.04.2013
comment
Что такое системный трей? - person Edd; 16.02.2018
comment
Это решение, @anom217, вы должны принять его как ответ. - person zygimantus; 03.04.2018

Вы можете загрузить двоичные файлы commons-deamon-1.0.15-bin-windows и увидеть иерархию папок следующим образом:

  • Пункт списка
  • amd64
  • ia64
  • prunsrv.exe
  • prunmgr.exe

На моей 64-битной машине я столкнулся с той же проблемой с prunsrv.exe. После некоторых исследований (веб-сайт apache) решение заключается в использовании правильной версии prunsrv.exe под amd64 для 64-битных машин. У меня сработало использование amd64/prunsrv.exe.

person Metin Toyran    schedule 24.11.2015

Исправлена ​​проблема. Должна быть установлена ​​32-разрядная версия JRE, поскольку она ищет эту информацию в реестре. У меня была 64-битная версия.

person anom217    schedule 14.12.2010

Эта проблема обычно возникала, когда мы использовали 64-битную jre с 32-битной ApacheDS. Я попробовал решение ниже, и оно сработало для меня.

  1. Установите jre-8u91-windows-i586.exe. Он будет установлен в C:\Program Files (x86).
  2. Скопируйте файлы msvcr100.dll и msvcr120.dll из C:\Program Files (x86)\Java\jre1.8.0_91\bin в C:\Program Files (x86)\apacheds-1.5.0\bin .
  3. Установите переменные среды JAVA_HOME и PATH:

    JAVA_HOME — C:\Program Files (x86)\Java\jre1.8.0_91

    ПУТЬ — C:\Program Files (x86)\Java\jre1.8.0_91\bin.

  4. Перейдите на вкладку Java в ApacheDS, снимите флажок «Использовать по умолчанию» и установите для JVM значение C:\Program Files (x86)\Java\jre1.8.0_91\bin\client\jvm.dll.

  5. Запустите службу.
person Sonali    schedule 07.06.2016

У меня была эта проблема при попытке запустить Apache TC как службу. Исправил это, запустив TomCatW.exe //MS//, затем настроив его из системного трея, отключив параметр Java VM по умолчанию и указав его на мою папку JRE\Server для моей 64-битной установки.

person Sid    schedule 16.09.2018

В моем случае я использовал OpenJDK с tomcat9 и увидел аналогичное сообщение об ошибке, поэтому я изменил свойства tomcat9w, чтобы начать как «Учетная запись локальной системы», и это также устранило проблему jvm.dll «Не удалось создать .... с доступом отказано» для меня.

person Vipul    schedule 21.01.2020

проверьте путь в конфигурации tomcat. Он может быть неправильным на вашем сервере

person user13453853    schedule 02.05.2020

У меня была аналогичная проблема с Tomcat 9 и Java 11, которая оказалась отсутствующей зависимостью DLL. Проблема:

[2020-10-05 17:40:21] [info]  [ 3528] Apache Commons Daemon procrun (1.2.2.0 64-bit) started.
[2020-10-05 17:40:21] [info]  [ 3528] Running Service 'Tomcat9'...
[2020-10-05 17:40:21] [info]  [ 5772] Starting service...
[2020-10-05 17:40:21] [error] [ 5772] The specified procedure could not be found.
[2020-10-05 17:40:21] [error] [ 5772] Failed creating Java 'C:\Program Files\jre11-x64\bin\server\jvm.dll'.
[2020-10-05 17:40:21] [error] [ 5772] The specified procedure could not be found.
[2020-10-05 17:40:21] [error] [ 5772] ServiceStart returned 1.
[2020-10-05 17:40:21] [error] [ 5772] The specified procedure could not be found.
[2020-10-05 17:40:21] [info]  [ 3528] Run service finished.
[2020-10-05 17:40:21] [info]  [ 3528] Apache Commons Daemon procrun finished.

Это на машине x64 Win 7. Я использовал обходчик зависимостей для jvm.dll. Оказывается, vcruntime140.dll отсутствует на моей машине. Поэтому я установил среду выполнения MS VC 2015 с сайта MS.

Обратите внимание, что в Java 11 больше нет отдельной JRE. И вот что вы получите, если будете устанавливать из .zip-файла вместо установщика: отсутствующие зависимости.

После установки отсутствующей среды выполнения VC Tomcat 9 заработал.

person Atafar    schedule 06.10.2020