Tomcat 버전 실행 방법을 찾는 방법


175

Appfuse + tomcat + jRebel을 작동 시키려고합니다.

기본적으로 Appfuse는 Cargo를 사용하여 Tomcat (ver. 7.0.33)을 다운로드하고 응용 프로그램을 배포합니다. 다운로드 한 것 대신 이미 설치된 Tomcat (ver. 7.0.27)을 사용하고 싶습니다. appfuse FAQ에 따라 변경했습니다 .

로 배포 한 후 mvn cargo:run실제 실행중인 Tomcat이 실제로 7.0.27인지 어떻게 알 수 있습니까?

오류 페이지에서 잘못된 URL (예 : localhost : 8080 / dfsfsdf )을 입력했지만 아무것도 표시하지 않았습니다.

$CATALINA_HOME자신의 바람둥이 7.0.27을 가리 킵니다. 죄송합니다. Windows 용입니다.

최신 정보:

이 질문이 어떻게 든 인기를 얻었 기 때문에 그 대답이 왜 받아 들여 졌는지 설명하고 싶습니다. 간단하게, 그것은 내 문제를 해결 한 첫 번째 것이었다.

질문의 제목을 보면 @Tech Junkie@CPU 100은 실제로 가장 좋은 대답을 가지고 있지만 내가 만난 시나리오에는 적합하지 않습니다. ( mvn cargo:run설치된 바람둥이 또는 "프로젝트 내장"바람둥이를 실행 하는지 알고 싶었습니다 ) :)


1
JSP 파일을 업로드 할 수 있으면 다음 예제와 같은 일부 정보를 인쇄 할 수 있습니다. bestdesigns.co.in/blog/check-jsp-tomcat-version
wemu

권리! 당신은 답을 얻었습니다. 실제로 7.0.27입니다. 답변으로 게시하십시오
Yichaoz

답변:


52

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

517

이것이 최근은 아니지만 내 대답은 여전히 ​​다른 사람들을 도울 수 있다고 생각했습니다.

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

11
좀 더 구체적으로 말하자면 server / lib는 다음과 같습니다./opt/tomcat/lib
Kai Carver

4
또는 Windows의 경우C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib
Kai Carver

10
CentOS 7에서 / usr / share / tomcat / lib로 이동해야합니다.
Matthieu

하나의 Solaris 10 서버에서 명령을 실행할 때 "스레드"main "java.lang.UnsupportedClassVersionError : .class 파일의 버전 번호가 잘못되었습니다"라는 오류가 발생합니다. RHEL 7.2에서 올바른 출력을 얻었습니다.
sv.

5
정답으로 태그되어야합니다. Tomcat 버전을 확인하기 위해 왜 JSP를 작성하고 배포해야하는지 모르겠습니다. 이 답변은 시스템 관리자와 같이 정확한 바람둥이 버전을 알고 싶어하는 프로그래머뿐만 아니라 더 많은 청중을 가질 수 있습니다.
Itherael 17

99
  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 ="에 정의 된 버전.


죄송하지만 Windows에 있습니다. 그러나 문제는 실제로 어떤 폴더의 바람둥이가 실행되고 있는지 모른다는 것입니다
Yichaoz

@Kossel 버전을 확인하기 위해 더 많은 정보를 추가했지만 더 수동입니다.
grepit 2019

1
org \ apache \ catalina \ util \ ServerInfo.properties에서 버전을 찾았습니다 (lib 패키지는 없습니다)
Federico Pugnali

49

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

40

http://localhost:8080/웹 브라우저에서 간단히 열면 Tomcat 시작 페이지가 열리고 다음과 같이 Tomcat 버전 실행을 보여줍니다.

Apache Tomcat/7.0.42
  • Tomcat이 포트 8080에서 실행되고 있다고 가정합니다.

12

릴리스 정보 사용

기본 Tomcat 폴더 에서 다음 줄 (~ 라인 20-21)이 포함 된 RELEASE-NOTES 파일을 찾을 수 있습니다 .

                Apache Tomcat Version 8.0.22
                        Release Notes

또는 명령 행을 사용하여 동일한 정보를 얻을 수 있습니다 .

  • 윈도우 :

    type RELEASE-NOTES | find "Apache Tomcat Version"

    산출:

                 Apache Tomcat Version 8.0.22
  • 리눅스 :

    cat RELEASE-NOTES | grep "Apache Tomcat Version"

    산출:

                 Apache Tomcat Version 8.0.22

12

현재 실행중인 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 서버 빌드 : 2015 년 10 월 7 일 18:25:21 UTC 서버 번호 : 8.0.28.0 OS 이름 : Windows 7 OS 버전 : 6.1 아키텍처 : amd64 JVM 버전 : 1.8.0_111-b14 JVM 공급 업체 : 오라클


12
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

* nix에서. 릴리스 노트 파일이 없습니다. sudo명령을 실행하면 나를 위해 일했다
Kunal

10

Tomcat 버전을 찾으려면 * nix의 경우 version.sh 또는 Windows의 경우 version.bat 파일을 찾으십시오. 이 version.sh 파일은 일반적으로 Tomcat bin 폴더에 있습니다.

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

노트

version.sh 파일이 어디에 있는지 확실하지 않은 경우 다음 명령을 시도하십시오.

sudo find / -name "version.sh"

Tomcat7에 대한 모든 것을 찾으십시오.

sudo find / -name "tomcat7"

8

거의 모든 것을 확인할 수있는 하나의 명령 :

java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

또는

tomcat/bin/catalina.sh version

그리고 출력은 다음과 같습니다

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

7

다음을 실행

/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

또 다른 옵션은 linux / window에 해당하는 tomcat의 릴리스 노트를 보는 것입니다.

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

5

나는 이것이 너무 늦다는 것을 알고 있지만 이것이 유용 할 수 있습니다 .Java 코드에서 Apache Tomcat Server 버전을 알고 싶다면 다음을 사용할 수 있습니다.

HttpServlet에서 :

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

ServletContextListener에서 :

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

4

Tomcat이 서비스로 설치된 경우 다음을 시도하십시오.

sudo /etc/init.d/tomcat version

"tomcat"을 실제 서비스 이름으로 바꾸십시오.


3

Linux에서 Tomcat 버전을 확인하십시오.

cd /opt/tomcat/bin

./catalina.sh version

이것은 효과가 있지만 매번 '스도'를 사용해야합니다.
Sandun

2

바람둥이 홈페이지 열기 (보통 localhost:8080)

다음과 같은 것을 보게 될 것입니다 :

여기에 이미지 설명을 입력하십시오



1

404.jsp또는을 입력하십시오 non-existent.jsp.

페이지 하단에서 Tomcat / JBoss 버전 번호를 확인하십시오.


1

해커로부터 Tomcat을 보호하려면 Tomcat 버전 정보를 숨기는 몇 가지 단계를 수행하는 것이 좋습니다. OWASP 프로젝트는 몇 가지 단계를 제안합니다. https://www.owasp.org/index.php/Securing_tomcat . 따라서 바람둥이 설치가 보호되면 위의 답변 중 하나만 바람둥이 버전을 표시합니다.
즉, 버전 번호가 명확하게 발표 된 $ TOMCAT_HOME \ RELEASE-NOTES 파일을 통해 이동합니다.

나는 하나의 보호 된 서버를 가지고 있었고 RELEASE-NOTES 파일 만 Tomcat의 버전을 공개했습니다. 다른 모든 기술은 버전 정보를 공개하지 못했습니다.


1

우리는 Windows 환경에서 실행 중이며 Java 환경 외부에서 Tomcat 버전을 얻는 방법을 찾아야했습니다. 버전을 알지 못하면 디렉토리를 확인할 수 없습니다. 마침내 가장 좋은 방법은 Tomcat 서비스를 사용하여 쿼리하는 것입니다.

C : \ temp> sc 쿼리 | / I "tomcat"찾기
SERVICE_NAME : Tomcat6
DISPLAY_NAME : Apache Tomcat 6.0 Tomcat6


0

Windows 작업 관리자> 프로세스> Tomcat 찾기> 마우스 오른쪽 버튼으로 클릭> 파일 위치 열기> Tomcat7w.exe를 실행하면 설명에 표시됩니다.

Tomcat이 Windows Vista / 7이 아닌 경우 프로세스에 표시되도록 실행되어야합니다. 작업 관리자> 탭 (서비스)로 이동하여 Tomcat을 시작한 다음 처리하십시오.


작업 관리자로 이동했는데 tomcat7w.exe 대신 java.exe 만 표시됩니다. java.exe를 죽이면 서버가 죽습니다
Yichaoz

0

유닉스 계열 환경에서는 실제 실행중인 프로세스 명령 줄을 확인하는 것이 좋습니다.

$ 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.shTomcat 8이 클래스 경로에서 Tomcat 7의 클래스로 시작한 상황이있었습니다 . 확인 그와 같은 프로세스 명령 행 옵션에서 -Dcatalina.base, -Dcatalina.home그리고 -classpath메이크업 감각.


0

tomcat을 시작하고 " Server version name "을 검색하면 tomcat catalina.logs버전이 표시됩니다. 예를 들면 다음과 같습니다.

"Mar 07, 2019 11:25:40 AM org.apache.catalina.startup.VersionLoggerListener 로그 정보 : 서버 버전 이름 : Apache Tomcat / 9.0.16 "



0

정확한 바람둥이 버전 만 알고 싶다면 방문하십시오. vi tomcat/BUILDING.txt

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.