Подтвердить что ты не робот

Как узнать, является ли Tomcat 32-разрядным или 64-битным на сервере Windows?

У нас есть установщик, который устанавливает Tomcat. Как узнать, 32-битная версия Tomcat или 64-битной версии?

4b9b3361

Ответ 1

Как говорит Пьер, есть только один установщик, доступный с apache.org, который будет работать как на 32 битах, так и на 64 бит на официальном сайте Tomcat. Это связано с тем, что сам Tomcat является Java-приложением, и он независим от платформы (виртуальная машина Java - это то, что будет 32 бит или 64 бит). В любом случае, не имеет значения, если вы установили Java в 32-битную или 64-битную версию, однако в зависимости от установленной вами версии Java она установит оболочку службы Windows для 32 или 64 бит.

В 32-битной системе вы можете установить только 32-битную версию Java. В 64-битной системе вы можете установить либо 32-битную версию Java, либо версию на 64-битной версии Java. Если вы установили 64-битную версию, установочный каталог по умолчанию для Tomcat будет установлен как 64-битное приложение. Это означает, что установщик будет использовать папку "Program Files" в качестве установочного каталога по умолчанию, а запись для службы Tomcat в реестре Windows будет помещена в "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation". Однако, если вы используете 32-битную версию Java Tomcat, будет установлена ​​как 32-разрядное приложение. Каталог установки по умолчанию для установщика будет находиться в "Program Files (x86)", а запись для службы в реестре Windows будет помещена в "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Apache Software Foundation". Это по умолчанию для 32-битных приложений в 64-битной системе Windows.

Вместе с оберткой службы Windows есть еще один компонент, который отличается для 32-битной и 64-битной версии Tomcat. Это APR/родная библиотека для Windows, но это не входит в программу установки. На веб-сайте Tomcat вы также можете найти другие дистрибутивы Tomcat, которые включают его, и эти дистрибутивы зависят от версии JVM, которую вы используете (32 или 64 бит).

Ответ 2

Для Windows существует только один установщик, способный устанавливать как 32, так и 64-битную версию.

http://tomcat.apache.org/download-60.cgi#6.0.32

Вы можете попробовать установить его и запустить. /bin/version.[bat|sh] script.

Посмотрите на поле "Архитектура" на выходе.

Ответ 3

На моей 64-разрядной машине с Windows 7: если java - 32 бита, Tomcat 7 по умолчанию устанавливается в каталог Program files (x86). Но ключи реестра помещаются в места BOTH:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
и
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation

Это означает, что указанное выше сообщение неверно, по крайней мере, на 64-разрядной версии Windows 7.

Tomcat 7 не имеет битов, действительно: это приложение Java. Его битность зависит от того, какая битность Java установлена.

Возможно, установлены как 64, так и 32-разрядные версии Java. Если установщик Tomcat 7 обнаруживает, что установленный 32-разрядный бит Java 7 (только), он установит tomcat 7 в Program files (x86) каталог. Но установщик Tomcat 7 выберет 64-битную версию Java и установит себя в папку Program Files.

Но вы не можете предположить, что Tomcat 7 использует 64-битную Java в этом случае, поскольку пользователь мог добавить 64-битную Java после установки tomcat 7, а tomcat 7 не знает, как изменить свою "битту" с 32 до 64, когда это произойдет.

До сих пор мне не удалось найти надежный метод определения того, какой JRE Tomcat использует. Использование имен папок, таких как Program files (x86), ничего не значит, потому что пользователь может изменить это местоположение на все, что захочет.

Как и в последнем ответе перед этим, выше, Tomcat 7, похоже, не имеет описанного файла version.bat или version.sh, так что больше не является точным, либо AFIK.

Ответ 4

Легко, запустите tomcat и перейдите в диспетчер задач. Если он 32-битный, он отобразит * 32, придав имя процессу. Убедитесь, что вы смотрите на процесс tomcatx.exe, а не tomcatxw.exe. Я думаю, что в некоторых версиях Java-процесс будет отображаться вместо tomcat.