как узнать, работает версия tomcat

Я пытаюсь получить Appfuse + tomcat + jRebel работает.

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

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

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

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

обновление:

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

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

20 ответов


Если вы можете загрузить файл JSP, вы можете распечатать некоторую информацию, как в этом примере:bestdesigns.co.in / blog/check-jsp-tomcat-версия

Сохраните этот код в файл с именем 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

спасибо! :)


хотя это не Недавно, я подумал, что мой ответ все еще может помочь другим: CD на сервер / 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

  1. попробуйте проанализировать или выполнить каталог Tomcat_home/bin и найдите сценарий с именем version.sh или версия.летучая мышь!--5--> в зависимости от вашего операционная система.
  2. выполнить скрипт ./version.sh или version.bat

если нет версии.летучая мышь или version.sh тогда используйте инструмент для распаковки файлов JAR (\tomcat\server\lib\catalina.jar) и посмотрите в файле org\apache\catalina\util\lib\ServerInfo.свойства. версия, определенная в разделе "server.info=".


выполнить скрипт в


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

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

версия в настоящее время работает в Tomcat

Если вы установите переменную environtment - %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 в виртуальная машина Java Версия: 1.8.0_111-b14 Поставщик JVM: Oracle Corporation


чтобы узнать версию Tomcat, найдите этот файл – version.sh для *nix или версии.летучая мышь для окон. Это version.sh файл обычно находится в папке Tomcat bin.

phpmongodb@kumar:/usr/share/tomcat7/bin$ ./version.sh 

Примечание

Если вы не уверены, где находится version.sh файл, попробуйте эту команду:

sudo find / -name "version.sh"

узнайте все о Tomcat7.

sudo find / -name "tomcat7"

использование примечаний к выпуску

в главной папке Tomcat вы можете найти РЕЛИЗ-ПРИМЕЧАНИЯ файл, который содержит следующие строки (~строка 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
    

выполнить следующие

/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

для машины windows

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 Машины

# ./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

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

sudo /etc/init.d/tomcat version

Swap out "tomcat" с фактическим именем службы.


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

из HttpServlet:

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

от ServletContextListener:

public void contextInitialized(ServletContextEvent event)  { 
    event.getServletContext().getServerInfo();      
}

другой вариант - просмотр заметок о выпуске tomcat, применимых к linux / window

{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt

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

w3m http://localhost:8080/

для выхода нажмите q и далее y


Enter 404.jsp или non-existent.jsp.

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


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

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


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

C:\temp>sc query /find / I "tomcat"
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6


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

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

enter image description here


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

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


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

{running-tomcat-url} / менеджер / статус

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

Примечание: я также вставил этот ответ на проблема совместимости Tomcat6 и JRE7. Майор без поддержки.младшая версия 51.0