как узнать, работает 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 (например. localhost: 8080 / dfsfsdf), чтобы увидеть его на странице ошибки, но сейчас он ничего не показывает.
мой $CATALINA_HOME указывает на мой собственный tomcat 7.0.27.
извините, забыл упомянуть, это для Windows
обновление:
поскольку этот вопрос стал каким-то популярным, я хотел бы объяснить, почему этот принятый ответ. просто, это был первый, который решил мою проблему.
глядя на название вопроса, @Tech Junkie и @ CPU 100 действительно есть лучший ответ, но не для сценария, с которым я столкнулся. (Я хотел знать, если mvn cargo:run запускает мой установленный tomcat или "проект embeded" tomcat):)
20 ответов:
Если вы можете загрузить файл 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спасибо! :)
хотя это не Недавно, я подумал, что мой ответ все еще может помочь другим: 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
- попробуйте проанализировать или выполнить каталог Tomcat_home/bin и найдите скрипт с именем version.sh или версия.летучая мышь в зависимости от вашего операционная система.
- выполнить скрипт
./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 Сервер построен: Oct 7 2015 18:25: 21 UTC Количество серверов: 8.0.28.0 Имя ОС: Windows 7 Версия ОС: 6.1 Архитектура: amd64 в виртуальная машина Java Версия: 1.8.0_111-b14 Поставщик JVM: корпорация Oracle
чтобы узнать версию 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 вы можете найти 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.22Linux:
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замените "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
для защиты Tomcat от хакеров рекомендуется выполнить несколько шагов по скрытию информации о версии tomcat. Проект OWASP предлагает несколько шагов. https://www.owasp.org/index.php/Securing_tomcat . Если установка tomcat таким образом защищена, то только 1 из приведенных выше ответов покажет версию tomcat.
т. е. просматривая файл $TOMCAT_HOME\RELEASE-NOTES, где явно объявлен номер версии.У меня был один такой защитой сервер и только файл RELEASE-NOTES показали версию tomcat. все остальные методы не смогли раскрыть информацию о версии.
мы работаем в среде Windows, и мне пришлось найти способ получить версию Tomcat за пределами среды Java. Не зная версии, я не мог определить каталоги. Я, наконец, нашел лучший способ, чтобы запросить службу Tomcat с помощью:
C:\temp > sc query / find / I "tomcat"
ИМЯ_СЛУЖБЫ: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6
диспетчер задач Windows > процессы > найти tomcat > щелкните правой кнопкой мыши > открыть расположение файлов > если вы запустите Tomcat7w.exe это видно при описании.
Tomcat должен работать, чтобы быть видимым в процессах, если не в Windows Vista/7 перейдите в Диспетчер задач > tab (services) find tomcat запустите его, а затем процессы.
вы можете узнать информацию о сервере через его страницу состояния:
{running-tomcat-url} / manager / status
на этой странице вы можете увидеть версию Java, на которой работает ваш Tomcat
Примечание: я также вставил этот ответ на проблема совместимости Tomcat6 и JRE7. Без поддержки майора.младшая версия 51.0

Comments