it-swarm.com.ru

как узнать работающую версию Tomcat

Я пытаюсь заставить работать Appfuse + Tomcat + jRebel.

Appfuse по умолчанию использует Cargo для загрузки Tomcat (версия 7.0.33) и развертывания в нем приложения. Я хочу использовать уже установленный Tomcat (версия 7.0.27) вместо загруженного. Я внес изменения после appfuse FAQ .

После развертывания с помощью mvn cargo:run, как я могу узнать, что на самом деле запущенный Tomcat действительно 7.0.27? 

Раньше я вводил неправильный URL (например, localhost: 8080/dfsfsdf), чтобы увидеть его на странице ошибок, но теперь он ничего не показывает.

Мой $CATALINA_HOME указывает на мой собственный Tomcat 7.0.27 . Извините забыл упомянуть, это для Windows

Обновление:

Поскольку этот вопрос стал каким-то популярным, я хотел бы объяснить, почему этот ответ был принят. просто, это был первый, который решил мою проблему. 

глядя на заголовок вопроса, @Tech Junkie и @CPU 100 действительно есть лучший ответ, но не для сценария, с которым я столкнулся. (Я хотел знать, запускает ли mvn cargo:run мой установленный Tomcat или Tomcat с «проектом») :)

145
Yichaoz

если вы можете загрузить файл 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
47
wemu

Хотя это не недавно, я думал, мой ответ все еще может помочь другим:

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
416
Tech Junkie
  1. Попробуйте выполнить синтаксический анализ или выполнить каталог Tomcat_home/bin и найти Скрипт с именем version.sh или version.bat в зависимости от вашей операционной системы
  2. Выполните скрипт ./version.sh или version.bat

Если нет version.bat или version.sh, тогда Используйте инструмент для разархивирования файлов JAR (\ Tomcat\server\lib\catalina.jar) и посмотрите в файле org\Apache\catalina\util\lib\ServerInfo .properties . версия, определенная в "server.info =".

88
grepit

запустите скрипт в вашем каталоге 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
44
tokhi

Вы можете просто открыть http://localhost:8080/ в своем веб-браузере Это откроет страницу приветствия Tomcat, которая показывает запущенную версию Tomcat, например:

Apache Tomcat/7.0.42
  • Я предполагаю, что ваш Tomcat работает на порту 8080
38
Abdelhameed Mahmoud

Версия запущенного в данный момент 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 Поставщик: Oracle Corporation

11
Yergalem

Чтобы узнать версию 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
Nanhe Kumar

Использование заметок о выпуске

В основной папке 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
    
9
ROMANIA_engineer

запустить следующее

/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
6
tcat

Для окон машины 

bin>version.bat
Using CATALINA_BASE:   "C:\Apache-Tomcat-7.0.53"
Using CATALINA_HOME:   "C:\Apache-Tomcat-7.0.53"
Using CATALINA_TMPDIR: "C:\Apache-Tomcat-7.0.53\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_65"
Using CLASSPATH:       "C:\Apache-Tomcat-7.0.53\bin\bootstrap.jar;C:\Apache-Tomcat-7.0.53\bin\Tomcat-juli.jar"
Server version: Apache Tomcat/7.0.53
Server built:   Jan 01 2014 06:20:16
Server number:  7.0.53.0
OS Name:        Windows 10
OS Version:     10.0
Architecture:   AMD64
JVM Version:    1.8.0_65-b17
JVM Vendor:     Oracle Corporation

Для Linux Machine 

# ./version.sh
Using CATALINA_BASE:   /usr/epramaan/Apache-Tomcat-7.0.56
Using CATALINA_HOME:   /usr/epramaan/Apache-Tomcat-7.0.56
Using CATALINA_TMPDIR: /usr/epramaan/Apache-Tomcat-7.0.56/temp
Using JRE_HOME:        /usr/Java/jdk1.7.0_71/jre
Using CLASSPATH:       /usr/epramaan/Apache-Tomcat-7.0.56/bin/bootstrap.jar:/usr/epramaan/Apache-Tomcat-7.0.56/bin/Tomcat-juli.jar
Server version: Apache Tomcat/7.0.56
Server built:   Sep 26 2014 12:08:24
Server number:  7.0.56.0
OS Name:        Linux
OS Version:     2.6.32-431.el6.x86_64
Architecture:   AMD64
JVM Version:    1.7.0_71-b14
JVM Vendor:     Oracle Corporation

Если Tomcat установлен как сервис:

#Sudo /etc/init.d/Tomcat version
5
Mack

Другой вариант - просмотреть заметки о выпуске от Tomcat, применимые к linux/window.

{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt
4
Harsimranjit Singh Kler

Если Tomcat установлен как сервис, попробуйте:

Sudo /etc/init.d/Tomcat version

Поменяйте местами "Tomcat" с реальным названием сервиса.

3
Christopher Yang

Я знаю, что может быть слишком поздно для этого, но это может быть полезно: Если вы пытаетесь узнать версию Apache Tomcat Server из кода Java, вы можете использовать:

из HttpServlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    getServletContext().getServerInfo()
}

из ServletContextListener:

public void contextInitialized(ServletContextEvent event)  { 
    event.getServletContext().getServerInfo();      
}
2
Aramis Rodríguez Blanco

Введите 404.jsp или non-existent.jsp.

Получить номер версии Tomcat/JBoss внизу страницы.

1
Ivan Chau

Откройте домашнюю страницу Tomcat (обычно localhost:8080)

Вы увидите что-то вроде этого:

 enter image description here

1
Eduardo

Для защиты Tomcat от хакеров рекомендуется попробовать несколько шагов, чтобы скрыть информацию о версии Tomcat. Проект OWASP предлагает несколько шагов. https://www.owasp.org/index.php/Securing_Tomcat . Если установка Tomcat, таким образом, защищена, то только один из приведенных выше ответов покажет версию Tomcat. 
то есть просматривая файл $ Tomcat_HOME\RELEASE-NOTES, где четко указывается номер версии.

У меня был один такой защищенный сервер, и только файл RELEASE-NOTES раскрыл версию Tomcat. все другие методы не смогли раскрыть информацию о версии.

1
anjanb

Это одна команда, которую вы можете проверить почти все:

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
1
Surasin Tancharoen

Мы работаем в среде Windows, и мне нужно было найти способ получить версию Tomcat за пределами среды Java. Не зная версии, я не смог определить каталоги. Наконец, я обнаружил, что лучший способ - это запросить сервис Tomcat, используя:

C:\temp> sc query | найти/я "Tomcat"
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6

1
kenbrown_ct

запустить на терминале сервера Unix

w3m http://localhost:8080/

чтобы выйти нажмите q и далее y

1

Просто запустите Tomcat и выполните поиск « Имя версии сервера » в catalina.logs, и вы получите версию вашего Tomcat. Например:

«07 марта 2019 г., 11:25:40, org.Apache.catalina.startup.VersionLoggerListener log INFO: Имя версии сервера: Apache Tomcat / 9.0.16 »

0
Shubh

В 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) имеют неожиданные значения. У меня была ситуация, когда из-за устаревшего setenv.sh Tomcat, Tomcat 8 начинался с классов из Tomcat 7 на пути к классам. Убедитесь, что в командной строке процесса такие параметры, как -Dcatalina.base, -Dcatalina.home и -classpath имеют смысл.

0
Abdull

Диспетчер задач Windows> Процессы> найти Tomcat> щелкнуть правой кнопкой мыши> открыть местоположение файла> если вы запустите Tomcat7w.exe, это видно в описании.

Tomcat должен работать, чтобы быть видимым в процессах, если не в Windows Vista/7, перейдите в диспетчер задач> вкладка (службы), найдите Tomcat, запустите его и затем обработайте.

0
madlymad

Вы можете узнать информацию о сервере через его страницу состояния:

{Обкатка Tomcat-адрес}/менеджер/статус

На этой странице вы можете увидеть версию Java, на которой работает ваш Tomcat

Примечание: я также вставил этот ответ в проблема совместимости Tomcat6 и JRE7. Неподдерживаемая версия major.minor 51.0

0
Carlo Ledesma