Сервер Tomcat не запускается как служба:% 1 не является допустимым приложением Win32

Мой сервер tomcat отлично работает в Eclipse, но когда я пытаюсь запустить сервер, он не запускается.

Вот ошибки:

[2012-08-15 09:26:09] [info] Procrun (2.0.5.0) started
[2012-08-15 09:26:09] [info] Running Service...
[2012-08-15 09:26:09] [info] Starting service...
[2012-08-15 09:26:09] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:26:09] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:26:09] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:26:09] [info] Run service finished.
[2012-08-15 09:26:09] [info] Procrun finished.
[2012-08-15 09:29:06] [info] Procrun (2.0.5.0) started
[2012-08-15 09:29:06] [info] Running Service...
[2012-08-15 09:29:06] [info] Starting service...
[2012-08-15 09:29:06] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:29:06] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:29:06] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:29:06] [info] Run service finished.
[2012-08-15 09:29:06] [info] Procrun finished.
[2012-08-15 09:30:07] [info] Procrun (2.0.5.0) started
[2012-08-15 09:30:07] [info] Running Service...
[2012-08-15 09:30:07] [info] Starting service...
[2012-08-15 09:30:07] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:30:07] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:30:07] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:30:07] [info] Run service finished.
[2012-08-15 09:30:07] [info] Procrun finished.
[2012-08-15 09:30:57] [info] Procrun (2.0.5.0) started
[2012-08-15 09:30:57] [info] Running Service...
[2012-08-15 09:30:57] [info] Starting service...
[2012-08-15 09:30:57] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:30:57] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:30:57] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:30:57] [info] Run service finished.
[2012-08-15 09:30:57] [info] Procrun finished.

Что означают эти ошибки и как их исправить?

Ответы

Ответ 1

У меня была такая же проблема, и это было вызвано запуском 32-битного Tomcat на 64-битных окнах. (Я использовал XAMPP 1.8.3 в 64-разрядной версии Windows 8).

Во-первых:

  • Убедитесь, что системная переменная JAVA_HOME указана в вашей папке jdk (не \bin);
  • Убедитесь, что %JAVA_HOME%\bin; находится в системной переменной %PATH%.

Решение:

  • Удалите службу Tomcat7, если вы уже установили ее;
  • Загрузите 64-разрядную версию для Tomcat 7 для Windows (проверьте эту ссылку, чтобы получить последнюю версию - я использовал 7.0.42 версия);
  • Замените файлы tomcat7.exe и tomcat7w.exe в папке C:\xampp\tomcat\bin теми, что присутствуют в недавно загруженном zip файле.

Теперь вы можете установить службу как обычно (через панель управления XAMPP, если вы ее используете), и она должна начинаться с самого начала.

Ответ 2

Эта проблема возникает в обоих случаях:

1. Версия сервера Tomcat является 64-разрядной, но в ней используется 32-разрядная версия виртуальной машины Java.
 2. Ваша версия сервера Tomcat является 32-разрядной, но использует 64-разрядную версию виртуальной машины Java.

Убедитесь, что путь к jvm.dll (вкладка "Java" при запуске tomcat $ {version} w.exe) определяет правильную версию среды выполнения Java (x64 или x86).

Ответ 3

Попробуйте это

Скопируйте файл msvcr71.dll из каталога javas bin в папку tomcats bin.

Добавить каталог javas bin в переменную среды Windows.

Скопируйте файл msvcr71.dll из каталога javas bin в папку windows\system32.

Убедитесь, что ваши коты указывают на правильную папку jvm.dll.

Apache Tomcat 1

Ответ 4

Такая же проблема возникает, когда

  • 64-битный Tomcat 7
  • 64-разрядный сервер Windows
  • 32-разрядная JDK (в системной переменной JDK_HOME)

Вы можете использовать 32-битный JDK только на 32-битном Tomcat 7. Если вы хотите изменить Tomcat 7 64-бит на 32-разрядный

  • Измените переменную CATALINA_HOME на 32-битный путь Tomcat 7
  • Удалить службу Tomcat Windows
  • Установить службу Tomcat Windows

Ответ 5

Ваш Tomcat имеет 64 бит, но указывает на 32-битную java

  • Откройте конфигурацию Apache Tomcat (из командной строки: tomcat7w//ES//ваш экземпляр)
  • Перейдите на вкладку Java
  • Установите виртуальную машину Java в нужную битовую версию, например: C:\Program Files\Java\jre1.8.0_66\bin\server\jvm.dll

Чтобы избежать проблем при создании новых экземпляров, проверьте, куда указывает ваш JAVA_HOME, и установите его в 64-разрядную версию jdk (не jre), например C:\Program Files\Java\jdk1.8.0_66

Ответ 6

Если вы хотите запустить Tomcat в качестве службы Windows, самый простой способ - использовать 32-bit/64 -битный установщик Windows Service.

У меня была такая же проблема с Tomcat service.bat install, и я понятия не имел, была ли она 32-разрядной или 64-разрядной.

Использование 32-разрядного/64-разрядного установщика Windows для Tomcat помогло мне быстро его решить!

Ответ 7

Откройте конфигурацию Apache Tomcat → Java Tab → Clic на "Использовать по умолчанию"

Ответ 8

Отчет о сбое ошибок для Sage CRM 7.1g: Эта ошибка указывает, что Tomcat остановлен и не может запускаться. Таким образом, решение ниже для обоих пользователей Sage CRM, которые извлекают отчеты в Excel или PDF или в любом другом формате и требуют, чтобы Tomcat работал. Решение для Tomcat6.

  • Запустите jdk-8u121 -windows-i586 (это 32-разрядный JDK)

  • Настройка переменных среды Имя переменной: JAVA_HOME Значение переменной: C:\Program Files (x86)\Java\jdk1.8.0_121

  • Нажмите ok, ok, ok

4. Откройте раздел реестра, нажав;  Кнопка начала окна --- > Введите "REGEDIT" внутри, где он читается (Поиск программ и файлов),

Нажмите кнопку REGEDIT, которая появится

  1. В реестре следуйте этому пути

    HKEY_LOCAL_MACHINE → ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ---- > Wow6432Node --- > Apache Software Foundation

    Свернуть elipses из "Procrun → Tomcat6 → Параметры В разделе "Параметры" вы увидите следующие папки:

    Java Журнал Начало Стоп

Щелкните папку "Java" и дважды щелкните Jvm в столбце "Имя"

Откроется всплывающее окно.

Скопируйте значение переменной среды, которое вы установили ранее.. В этом случае: C:\Program Files (x86)\Java\jdk1.8.0_121 и вставьте внутри пространства значений "Значение" с помощью \jvm.dll, добавленного в конце.

Это полный путь: C:\Program Files (x86)\Java\jdk1.8.0_121\jre\bin\client\jvm.dll

Закрыть реестр и вуаля.

Dave