Как узнать версию операционной системы tomcat
Я пытаюсь заставить Appfuse + tomcat + jRebel работать.
Appfuse по умолчанию использует Cargo для загрузки tomcat (версия 7.0.33) и развертывает приложение к нему. Я хочу использовать уже установленный tomcat (версия 7.0.27) вместо загруженного. Я внес изменения после часто задаваемых вопросов об использовании приложений.
После развертывания с помощью mvn cargo:run
, как я могу узнать, что фактический запуск tomcat действительно 7.0.27?
Я использовал для ввода неправильного URL (например, localhost: 8080/dfsfsdf), чтобы увидеть его на странице с ошибкой, но теперь он ничего не показывает.
Мой $CATALINA_HOME
указывает на мой собственный tomcat 7.0.27.
извините забыл упомянуть, это для Windows
Update:
Поскольку этот вопрос стал чем-то популярным, я хотел бы объяснить, почему этот принятый ответ. простой, это был первый, который решил мою проблему.
глядя на название вопроса, @Tech Junkie и @CPU 100 действительно имеют лучшие ответ, но не для сценария, с которым я столкнулся. (Я хотел знать, работает ли mvn cargo:run
мой установленный tomcat или "проект, вложенный" tomcat) :)
Ответы
Ответ 1
если вы можете загрузить файл JSP, вы можете распечатать некоторую информацию, как в этом примере: bestdesigns.co.in/blog/check-jsp-tomcat-version
Сохраните этот код в файл с именем tomcat_version.jsp:
Tomcat Version : <%= application.getServerInfo() %><br>
Servlet Specification Version :
<%= application.getMajorVersion() %>.<%= application.getMinorVersion() %> <br>
JSP version :
<%=JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br>
Когда вы обращаетесь к http://example.com/tomcat_version.jsp, выходные данные должны выглядеть примерно так:
Tomcat Version : Apache Tomcat/5.5.25
Servlet Specification Version : 2.4
JSP version: 2.0
Ответ 2
Хотя это не недавно, я думал, мой ответ все еще может помочь другим:
cd tomcat/lib
java -cp catalina.jar org.apache.catalina.util.ServerInfo
и что это.
Server version: Apache Tomcat/7.0.30
Server built: May 23 2013 02:54:10
Server number: 7.0.30.0
OS Name: Linux
OS Version: 3.13.0-36-generic
Architecture: amd64
JVM Version: 1.7.0_65-b32
JVM Vendor: Oracle Corporation
Ответ 3
- Попробуйте разбор или выполнение каталога Tomcat_home/bin и найдите
a script с именем version.sh или version.bat в зависимости от вашего
операционной системы.
- Выполните script
./version.sh
или version.bat
Если нет версии version.bat или version.sh, тогда
используйте инструмент для распаковки файлов JAR (\ tomcat\server\lib\catalina.jar) и посмотрите в файле org\apache\catalina\util\lib\ServerInfo.properties.
версию, определенную в разделе "server.info =".
Ответ 4
выполните script в каталоге tomcat/bin
:
sh tomcat/bin/version.sh
Server version: Apache Tomcat/7.0.42
Server built: Jul 2 2013 08:57:41
Server number: 7.0.42.0
OS Name: Linux
OS Version: 2.6.32-042stab084.26
Architecture: amd64
JVM Version: 1.7.0_21-b11
JVM Vendor: Oracle Corporation
Ответ 5
Вы можете просто открыть http://localhost:8080/
в своем веб-браузере
и это откроет страницу приветствия Tomcat, в которой будет показана версия Tomcat, например:
Apache Tomcat/7.0.42
- Я предполагаю, что ваш Tomcat работает на порту 8080
Ответ 6
Версия текущего Tomcat
Если вы установите переменную среды -% CATALINA_HOME%, тогда
Windows:
>> cd %CATALINA_HOME%\bin
>> version
В качестве альтернативы
java.exe -cp lib\catalina.jar org.apache.catalina.util.ServerInfo
МОЯ НАСТРОЙКА --- Надеемся, что ваш будет выглядеть следующим образом
%CATALINA_HOME% --- C:\Program Files\Tomcat\apache-tomcat-8.0.28
ВЫХОД
Версия сервера: Apache Tomcat/8.0.28
Сервер построен: 7 октября 2015 18:25:21 UTC
Номер сервера: 8.0.28.0
Название ОС: Windows 7
Версия ОС: 6.1
Архитектура: amd64
Версия JVM: 1.8.0_111-b14
JVM Vendor: Корпорация Oracle
Ответ 7
Использование примечаний к выпуску
В основной папке Tomcat вы можете найти файл RELEASE-NOTES, который содержит следующие строки (~ строка 20-21):
Apache Tomcat Version 8.0.22
Release Notes
Или вы можете получить ту же информацию с помощью командной строки :
-
для Windows
type RELEASE-NOTES | find "Apache Tomcat Version"
Вывод:
Apache Tomcat Version 8.0.22
-
Linux
cat RELEASE-NOTES | grep "Apache Tomcat Version"
Вывод:
Apache Tomcat Version 8.0.22
Ответ 8
Чтобы узнать версию Tomcat, найдите этот файл - version.sh для * nix или version.bat для Windows. Этот файл version.sh обычно находится в папке bin Tomcat.
[email protected]:/usr/share/tomcat7/bin$ ./version.sh
Примечание
Если вы не знаете, где находится файл version.sh, попробуйте выполнить следующую команду:
sudo find / -name "version.sh"
Узнайте все о Tomcat7.
sudo find / -name "tomcat7"
Ответ 9
выполните следующие действия
/usr/local/tomcat/bin/catalina.sh version
его ответ будет примерно таким:
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /var/tmp/
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /var/catalina.pid
Server version: Apache Tomcat/7.0.30
Server built: Sep 27 2012 05:13:37
Server number: 7.0.30.0
OS Name: Linux
OS Version: 2.6.32-504.3.3.el6.x86_64
Architecture: amd64
JVM Version: 1.7.0_60-b19
JVM Vendor: Oracle Corporation
Ответ 10
For windows machine
Go to the tomcat directory C:\apache-tomcat-x.0.xx\bin
bin>version.bat
Using CATALINA_BASE: "C:\apache-tomcat-x.0.xx"
Using CATALINA_HOME: "C:\apache-tomcat-x.0.xx"
Using CATALINA_TMPDIR: "C:\apache-tomcat-x.0.xx\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_65"
Using CLASSPATH: "C:\apache-tomcat-x.0.xx\bin\bootstrap.jar;C:\apache-tomcat-x.0.xx\bin\tomcat-juli.jar"
Server version: Apache Tomcat/7.0.53
For Linux Machine
Go to the tomcat directory /usr/mack/apache-tomcat-x.0.xx/bin
# ./version.sh
Using CATALINA_BASE: /usr/mack/apache-tomcat-x.0.xx
Using CATALINA_HOME: /usr/mack/apache-tomcat-x.0.xx
Using CATALINA_TMPDIR: /usr/mack/apache-tomcat-x.0.xx/temp
Using JRE_HOME: /usr/java/jdk1.7.0_71/jre
Using CLASSPATH: /usr/mack/apache-tomcat-x.0.xx/bin/bootstrap.jar:/usr/mack/apache-tomcat-x.0.xx/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.56
Если Tomcat установлен как сервис:
#sudo /etc/init.d/tomcat version
Ответ 11
Я знаю, что, возможно, слишком поздно для этого, но это может быть полезно:
Если вы попытаетесь узнать версию Apache Tomcat Server из Java-кода, вы можете использовать:
из HttpServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletContext().getServerInfo()
}
из ServletContextListener:
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().getServerInfo();
}
Ответ 12
Другой вариант - просмотреть заметки о выпуске от tomcat, применимые к linux/window.
{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt
Ответ 13
Если Tomcat установлен как служба, попробуйте:
sudo /etc/init.d/tomcat version
Смените "tomcat" с фактическим именем службы.
Ответ 14
выполняется на терминале сервера Unix
w3m http://localhost:8080/
для выхода нажмите q и следующий y
Ответ 15
Введите 404.jsp
или non-existent.jsp
.
Получите номер версии Tomcat/JBoss внизу страницы.
Ответ 16
Для защиты Tomcat от хакеров рекомендуется попробовать несколько шагов для скрытия информации о версии tomcat. Проект OWASP предлагает несколько шагов. https://www.owasp.org/index.php/Securing_tomcat. Если установка tomcat защищена таким образом, то только один из вышеуказанных ответов покажет версию tomcat.
i.e просматриваю файл $TOMCAT_HOME\RELEASE-NOTES, где явно объявлен номер версии.
У меня был один такой защищенный сервер, и только файл RELEASE-NOTES показал версию tomcat. все другие методы не отображали информацию о версии.
Ответ 17
Мы работаем в среде Windows, и мне пришлось найти способ получить версию Tomcat за пределами среды Java. Не зная версию, я не мог определить каталоги. Наконец, я нашел, что лучший способ - запросить службу Tomcat, используя:
C:\temp > sc query | найти /I "tomcat"
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6
Ответ 18
Откройте домашнюю страницу tomcat (обычно localhost:8080
)
Вы увидите что-то вроде этого:
![enter image description here]()
Ответ 19
Это одна команда, которую вы можете проверить почти все:
java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo
И вывод выглядит так
Server version: Apache Tomcat/8.5.24
Server built: Nov 27 2017 13:05:30 UTC
Server number: 8.5.24.0
OS Name: Linux
OS Version: 4.4.0-137-generic
Architecture: amd64
JVM Version: 1.8.0_131-b11
JVM Vendor: Oracle Corporation
Ответ 20
Диспетчер задач Windows > Процессы > find tomcat > щелкните правой кнопкой мыши > открыть местоположение файлa > , если вы запустите Tomcat7w.exe, это видно в описании.
Tomcat должен работать, чтобы быть видимым в Processes, если не в Windows Vista/7, перейдите в диспетчер задач > вкладка (службы), найдите tomcat, запустите его, а затем обработайте.
Ответ 21
Вы можете узнать информацию о сервере через его страницу состояния:
{running-tomcat-url}/manager/status
На этой странице вы можете увидеть версию Java, на которой работает ваш Tomcat
Примечание: я также вставил этот ответ в вопрос совместимости Tomcat6 и JRE7. Неподдерживаемая версия major.minor 51.0
Ответ 22
В Unix-подобных средах я также рекомендую проверять действующую командную строку процесса:
$ ps aux | grep java
...
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/srv/tomcat-instances/bla/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx4096M -XX:+UseConcMarkSweepGC -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -Xmx4096m -Xms4096m -XX:MaxPermSize=2048m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.rmi.port=8090 -Djava.rmi.server.hostname=localhost -Djava.endorsed.dirs=/opt/apache-tomcat-8.0.47/endorsed -classpath /opt/apache-tomcat-8.0.47/bin/bootstrap.jar:/opt/apache-tomcat-8.0.47/bin/tomcat-juli.jar -Dcatalina.base=/srv/tomcat-instances/bla -Dcatalina.home=/opt/apache-tomcat-8.0.47 -Djava.io.tmpdir=/tmp/tomcat8-bla-tmp org.apache.catalina.startup.Bootstrap start
...
Можно работать с тонким странным поведением из-за того, что переменные среды (операционной системы) и системные свойства (Java) имеют неожиданные значения. У меня была ситуация, когда из-за устаревшего Tomcat setenv.sh
Tomcat 8 начинался с классов из Tomcat 7 на пути к классам. Убедитесь, что в параметрах командной строки процесса, таких как -Dcatalina.base
, -Dcatalina.home
и -classpath
есть смысл.
Ответ 23
Просто запустите tomcat и выполните поиск " Имя версии сервера " в catalina.logs
и вы получите версию вашего tomcat. Например:
"07 марта 2019 г., 11:25:40. Org.apache.catalina.startup.VersionLoggerListener log INFO: Имя версии сервера: Apache Tomcat/9.0.16 "
Ответ 24
В Linux проверить версию Tomcat
cd /opt/tomcat/bin
./catalina.sh version