çalışan tomcat sürümü nasıl bulunur


175

Appfuse + tomcat + jRebel'i çalıştırmaya çalışıyorum.

Appfuse, tomcat'i (ver. 7.0.33) indirmek ve uygulamayı uygulamaya dağıtmak için varsayılan olarak Cargo kullanır. İndirilmiş olanın yerine önceden kurulmuş bir tomcat (sürüm 7.0.27) kullanmak istiyorum. Değişikliği appfuse SSS'sinden sonra yaptım .

İle dağıtımını yaptıktan sonra mvn cargo:run, nasıl fiili işletim erkek kedi 7.0.27 gerçekten olduğunu bilebilir?

Hata sayfasında görmek için yanlış bir URL (ör. Localhost: 8080 / dfsfsdf ) yazardım , ancak şimdi hiçbir şey göstermiyor.

Benim $CATALINA_HOMEkendi tomcat 7.0.27 işaret eder. Maalesef bahsetmeyi unuttum, Windows için

Güncelleme:

Bu soru bir şekilde popüler hale geldiğinden, bunun neden cevabı kabul ettiğini açıklamak istiyorum. basit, sorunumu çözen ilk kişi oldu.

Sorunun başlığına baktığımızda, @Tech Junkie ve @CPU 100 gerçekten en iyi cevaba sahip, ancak karşılaştığım senaryo için değil. ( mvn cargo:runYüklü tomcat'imi mi yoksa bir "gömülmüş proje" tomcat mi çalıştırdığını bilmek istiyordum ) :)


1
bir JSP dosyası yükleyebiliyorsanız, bu örnekte olduğu gibi bazı bilgileri yazdırabilirsiniz: bestdesigns.co.in/blog/check-jsp-tomcat-version
wemu

sağ! Cevabı buldunuz, gerçekten de istediğim 7.0.27. lütfen cevap olarak gönderin
Yichaoz

Yanıtlar:


52

bir JSP dosyası yükleyebiliyorsanız, bu örnekte olduğu gibi bazı bilgileri yazdırabilirsiniz: bestdesigns.co.in/blog/check-jsp-tomcat-version

Bu kodu tomcat_version.jsp adlı bir dosyaya kaydedin:

    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 dosyasına eriştiğinizde, çıktı aşağıdakine benzer olmalıdır:

Tomcat Version : Apache Tomcat/5.5.25
Servlet Specification Version : 2.4
JSP version: 2.0

517

Bu son olmasa da, cevabım yine de başkalarına yardımcı olabilir diye düşündüm:

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

ve bu kadar.

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
biraz daha spesifik olmak gerekirse, sunucu / lib, örneğin,/opt/tomcat/lib
Kai Carver

4
veya örneğin Windows'ta,C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib
Kai Carver

10
CentOS 7'imde / usr / share / tomcat / lib adresine gitmem gerekiyor.
Matthieu

Bir Solaris 10 sunucusu, ben komut çalıştırdığınızda "ana" iş parçacığı istisna "bir hata alıyorum java.lang.UnsupportedClassVersionError: .class dosyasında bozuk sürüm numarası". RHEL 7.2'de doğru çıkışı aldım.
sv.

5
Bu doğru cevap olarak etiketlenmelidir. Tomcat sürümünü belirlemek için neden bir JSP yazmanız ve dağıtmanız gerektiğini anlamıyorum. Bu yanıt, sistem yöneticileri gibi sadece programcıların değil, tam tomcat sürümünü bilmek isteyen daha geniş bir kitleye sahip olabilir.
Itherael

99
  1. Tomcat_home / bin dizinini ayrıştırmayı veya yürütmeyi deneyin ve işletim sisteminize bağlı olarak version.sh veya version.bat adlı bir komut dosyası arayın .
  2. Komut dosyasını yürütün ./version.shveyaversion.bat

Version.bat veya version.sh yoksa JAR dosyalarını (\ tomcat \ server \ lib \ catalina.jar) açmak için bir araç kullanın ve org \ apache \ catalina \ util \ lib \ ServerInfo.properties dosyasına bakın. "server.info =" altında tanımlanan sürüm.


Maalesef bahsetmeyi unuttum, Windows'dayım. ama sorun şu ki, aslında hangi klasörün
tomcat'ının

@Kossel Sürümünüzü kontrol etmek için daha fazla bilgi ekledim ancak daha manuel.
grepit

1
Sürümü org \ apache \ catalina \ util \ ServerInfo.properties içinde buldum (lib paketi yoktu)
Federico Pugnali

49

betiği tomcat/bindizininizde yürütün :

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

Basitçe http://localhost:8080/web tarayıcınızda açabilirsiniz ve bu, çalışan Tomcat sürümünü aşağıdaki gibi gösteren Tomcat karşılama sayfasını açacaktır:

Apache Tomcat/7.0.42
  • Tomcat'in 8080 numaralı bağlantı noktasında çalıştığını varsayıyorum

12

Sürüm notlarını kullanma

Ana Tomcat klasöründe , aşağıdaki satırları içeren RELEASE-NOTES dosyasını bulabilirsiniz (~ line 20-21):

                Apache Tomcat Version 8.0.22
                        Release Notes

Veya komut satırını kullanarak aynı bilgileri alabilirsiniz :

  • Windows :

    type RELEASE-NOTES | find "Apache Tomcat Version"

    Çıktı:

                 Apache Tomcat Version 8.0.22
  • Linux :

    cat RELEASE-NOTES | grep "Apache Tomcat Version"

    Çıktı:

                 Apache Tomcat Version 8.0.22

12

Şu anda çalışan Tomcat'in sürümü

Ortam değişkenini -% CATALINA_HOME% olarak ayarlarsanız, Windows:

>> cd %CATALINA_HOME%\bin
>> version

Alternatif olarak,

java.exe -cp lib\catalina.jar org.apache.catalina.util.ServerInfo

AYARIM --- Umarım sizinki aşağıdaki gibi olacaktır

%CATALINA_HOME% --- C:\Program Files\Tomcat\apache-tomcat-8.0.28

ÇIKTI

Sunucu sürümü: Apache Tomcat / 8.0.28 Sunucu oluşturuldu: 7 Eki 2015 18:25:21 UTC Sunucu numarası: 8.0.28.0 İşletim Sistemi Adı: Windows 7 İşletim Sistemi Sürümü: 6.1 Mimari: amd64 JVM Sürüm: 1.8.0_111-b14 JVM Satıcı: Oracle Şirketi


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 bir hizmet olarak kuruluysa:

#sudo /etc/init.d/tomcat version

Burada * nix. Sürüm notları dosyam eksikti. sudoKomutu çalıştırmak benim için çalıştı
Kunal

10

Tomcat sürümünü bulmak için şu dosyayı bulun - * nix için version.sh veya Windows için version.bat. Bu version.sh dosyası normalde Tomcat bin klasöründe bulunur.

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

Not

Version.sh dosyasının nerede olduğundan emin değilseniz, bu komutu deneyin:

sudo find / -name "version.sh"

Tomcat7 hakkında her şeyi öğrenin.

sudo find / -name "tomcat7"

8

Hemen hemen her şeyi kontrol edebileceğiniz bu tek komut:

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

veya

tomcat/bin/catalina.sh version

Ve çıktı şöyle görünüyor

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

aşağıdakileri çalıştır

/usr/local/tomcat/bin/catalina.sh version

yanıtı şöyle olacaktır:

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

Başka bir seçenek, tomcat'tan linux / window için geçerli olan sürüm notlarını görüntüleme

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

5

Bunun için belki çok geç olduğunu biliyorum, ama bu yararlı olabilir: Java kodundan Apache Tomcat Server sürümünü öğrenmeye çalışırsanız, şunları kullanabilirsiniz:

bir HttpServlet'ten:

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

bir ServletContextListener'dan:

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

4

Tomcat bir hizmet olarak yüklüyse şunu deneyin:

sudo /etc/init.d/tomcat version

"Tomcat" i servisin gerçek adıyla değiştirin.


3

Linux'ta tomcat sürümünü kontrol etmek için

cd /opt/tomcat/bin

./catalina.sh version

Bu işe yarıyor ama her seferinde 'sudo' kullanmak zorundasınız, değil mi?
Sandun

2

Tomcat ana sayfanızı açın (Genellikle localhost:8080 )

Bunun gibi bir şey göreceksiniz:

resim açıklamasını buraya girin



1

Girin 404.jspveyanon-existent.jsp .

Tomcat / JBoss sürüm numarasını sayfanın altına alın.


1

Tomcat'i bilgisayar korsanlarından korumak için tomcat sürüm bilgilerini gizlemek için birkaç adım denememiz önerilir. OWASP projesi birkaç adım öneriyor. https://www.owasp.org/index.php/Securing_tomcat . Bir tomcat kurulumu bu şekilde korunursa, yukarıdaki cevaplardan sadece 1'i tomcat sürümünü gösterecektir.
ör. sürüm numarasının açıkça duyurulduğu $ TOMCAT_HOME \ RELEASE-NOTES dosyasını incelemek.

Böyle bir korumalı sunucum vardı ve sadece RELEASE-NOTES dosyası tomcat sürümünü ortaya çıkardı. diğer tüm teknikler sürüm bilgisini gösteremedi.


1

Windows ortamında çalışıyoruz ve Tomcat sürümünü Java ortamının dışına çıkarmanın bir yolunu bulmak zorundaydım. Sürümü bilmeden dizinleri belirleyemedim. Sonunda Tomcat hizmetini kullanarak sorgulamak için en iyi yolu bulundu:

C: \ temp> sc sorgusu | bul / ben "tomcat"
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6


0

Windows görev yöneticisi> İşlemler> tomcat'ı bul> sağ tıklama> dosya konumunu aç> Tomcat7w.exe'yi çalıştırırsanız açıklamada görülebilir.

Windows Vista / 7'de değilse Tomcat İşlemler'de görünür olmaya çalışmalıdır, görev yöneticisi> sekmesine gidin (hizmetler) tomcat'i başlatın ve ardından işler.


Görev yöneticisine gittim, gösterilen tek işlem tomcat7w.exe yerine java.exe.
Java.exe'yi

0

Unix benzeri ortamlarda, gerçek çalışan işlem komut satırını da kontrol etmenizi öneririm:

$ 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
...

Biri (işletim sistemi) ortam değişkenleri ve (Java) sistem özellikleri beklenmedik değerlere ayarlandığı için garip davranışlar üzerinde çalışılabilir. Eski bir Tomcat nedeniyle setenv.sh, bir Tomcat 8'in sınıf yolundaki bir Tomcat 7'den derslerle başladığı bir durumum vardı . Emin olun gibi işlem komut satırı seçeneklerinde -Dcatalina.base, -Dcatalina.homeve -classpathmarka anlamında.


0

Sadece tomcat'i başlatın ve " Sunucu sürüm adı " nı arayın ve tomcat'inizin sürümünücatalina.logs alacaksınız. Örneğin:

"07 Mart 2019 11:25:40 AM org.apache.catalina.startup.VersionLoggerListener günlüğü INFO: Sunucu sürüm adı: Apache Tomcat / 9.0.16 "



0

Tam tomcat versiyonunu bilmek için şu adresi ziyaret edin: vi tomcat/BUILDING.txt

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.