У нас есть установщик, который устанавливает Tomcat. Как узнать, 32-битная версия Tomcat или 64-битной версии?
Как узнать, является ли Tomcat 32-разрядным или 64-битным на сервере Windows?
Ответ 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.