cara mengetahui menjalankan versi kucing jantan

175

Saya mencoba agar Appfuse + tomcat + jRebel berfungsi.

Appfuse secara default menggunakan Cargo untuk mengunduh kucing jantan (ver. 7.0.33) dan mengirimkan aplikasi ke sana. Saya ingin menggunakan kucing jantan yang sudah diinstal (ver. 7.0.27) alih-alih yang diunduh. Saya melakukan perubahan mengikuti FAQ appfuse .

Setelah digunakan bersama mvn cargo:run , bagaimana saya bisa tahu bahwa tomcat yang sedang berjalan sebenarnya 7.0.27?

Saya dulu mengetik URL yang salah (mis. Localhost: 8080 / dfsfsdf ) untuk melihatnya di halaman kesalahan, tetapi sekarang tidak menunjukkan apa-apa.

Saya $CATALINA_HOMEpoin ke tomcat saya sendiri 7.0.27. maaf lupa menyebutkan, ini untuk Windows

Memperbarui:

Karena pertanyaan ini entah bagaimana menjadi populer, saya ingin menjelaskan mengapa jawaban itu diterima. sederhana, itu yang pertama menyelesaikan masalah saya.

melihat judul pertanyaan, @Tech Junkie dan @CPU 100 benar-benar memiliki jawaban terbaik, tetapi tidak untuk skenario yang saya temui. (Saya ingin tahu apakah mvn cargo:runmenjalankan tomcat yang terinstal atau tomcat "embeded proyek") :)

Yichaoz
sumber
1
jika Anda dapat mengunggah file JSP Anda dapat mencetak beberapa info seperti dalam contoh ini: bestdesigns.co.in/blog/check-jsp-tomcat-version
wemu
Baik! Anda mendapatkan jawabannya, itu memang 7.0.27 yang saya inginkan. tolong posting itu sebagai jawaban
Yichaoz

Jawaban:

52

jika Anda dapat mengunggah file JSP Anda dapat mencetak beberapa info seperti dalam contoh ini: bestdesigns.co.in/blog/check-jsp-tomcat-version

Simpan kode ini ke dalam file bernama tomcat_version.jsp:

    Tomcat Version : <%= application.getServerInfo() %><br>    
    Servlet Specification Version : 
<%= application.getMajorVersion() %>.<%= application.getMinorVersion() %> <br>    
    JSP version :
<%=JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br>

Saat Anda mengakses, http://example.com/tomcat_version.jsp , hasilnya akan terlihat mirip dengan:

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

Meskipun ini bukan baru, saya pikir, jawaban saya masih dapat membantu orang lain:

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

dan hanya itu.

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
Tech Junkie
sumber
11
untuk menjadi sedikit lebih spesifik, server / lib akan, misalnya,/opt/tomcat/lib
Kai Carver
4
atau misalnya pada Windows,C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib
Kai Carver
10
masih bekerja pada 2017. Pada CentOS 7 saya, saya harus pergi ke / usr / share / tomcat / lib.
Matthieu
Satu server Solaris 10, saya mendapatkan kesalahan "Pengecualian di utas" utama "java.lang.UnsupportedClassVersionError: Nomor versi yang salah dalam file .class" ketika saya menjalankan perintah. Pada RHEL 7.2 saya mendapat hasil yang benar.
sv.
5
Ini harus tag sebagai jawaban yang benar. Saya tidak mengerti mengapa Anda perlu menulis JSP dan menggunakannya untuk menentukan versi kucing jantan. Jawaban ini dapat memiliki audiens yang lebih luas tidak hanya programmer, seperti admin sistem yang hanya ingin tahu versi kucing jantan yang tepat.
Itherael
99
  1. Coba parsing atau jalankan direktori Tomcat_home / bin dan cari skrip bernama version.sh atau version.bat tergantung pada sistem operasi Anda.
  2. Jalankan skrip ./version.shatauversion.bat

Jika tidak ada version.bat atau version.sh maka gunakan alat untuk membuka ritsleting file JAR (\ tomcat \ server \ lib \ catalina.jar) dan cari di file org \ apache \ catalina \ util \ lib \ ServerInfo.properties. versi yang didefinisikan di bawah "server.info =".

grepit
sumber
maaf saya lupa menyebutkan, saya di Windows. tetapi masalahnya adalah, saya tidak tahu sebenarnya tomcat folder mana yang sedang dijalankan
Yichaoz
@ Kossel Saya menambahkan lebih banyak informasi untuk memeriksa versi Anda tetapi lebih manual.
grepit
1
Saya menemukan versi di org \ apache \ catalina \ util \ ServerInfo.properties (tidak ada paket lib)
Federico Pugnali
49

jalankan skrip di tomcat/bindirektori Anda :

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
tokhi
sumber
40

Anda cukup membuka http://localhost:8080/di browser web Anda dan ini akan membuka halaman selamat datang Tomcat yang menunjukkan menjalankan versi Tomcat seperti ini:

Apache Tomcat/7.0.42
  • Saya berasumsi bahwa Tomcat Anda berjalan pada port 8080
Abdelhameed Mahmoud
sumber
12

Menggunakan catatan rilis

Di folder Tomcat utama Anda dapat menemukan file RELEASE-NOTE yang berisi baris-baris berikut (~ baris 20-21):

                Apache Tomcat Version 8.0.22
                        Release Notes

Atau Anda bisa mendapatkan informasi yang sama menggunakan baris perintah :

  • Windows :

    type RELEASE-NOTES | find "Apache Tomcat Version"

    Keluaran:

                 Apache Tomcat Version 8.0.22
  • Linux :

    cat RELEASE-NOTES | grep "Apache Tomcat Version"

    Keluaran:

                 Apache Tomcat Version 8.0.22
ROMANIA_engineer
sumber
12

Versi Tomcat saat ini sedang berjalan

Jika Anda mengatur variabel lingkungan -% CATALINA_HOME%, maka Windows:

>> cd %CATALINA_HOME%\bin
>> version

Kalau tidak,

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

PENGATURAN SAYA --- Semoga milik Anda akan mirip dengan sebagai berikut

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

KELUARAN

Versi server: Apache Tomcat / 8.0.28 Server dibangun: 7 Okt 2015 18:25:21 UTC Nomor server: 8.0.28.0 Nama OS: Windows 7 Versi OS: 6.1 Arsitektur: amd64 JVM Versi: 1.8.0_111-b14 JVM Vendor: Oracle Corporation

Yergalem
sumber
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

Jika Tomcat diinstal sebagai layanan:

#sudo /etc/init.d/tomcat version
Mack
sumber
Pada * nix di sini. File catatan rilis saya tidak ada. Menjalankan sudoperintah bekerja untuk saya
Kunal
10

Untuk mengetahui versi Tomcat, temukan file ini - version.sh untuk * nix atau version.bat untuk Windows. File version.sh ini biasanya terletak di folder Tomcat bin.

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

Catatan

Jika Anda tidak yakin di mana file version.sh, coba perintah ini:

sudo find / -name "version.sh"

Cari tahu segalanya tentang Tomcat7.

sudo find / -name "tomcat7"
Nanhe Kumar
sumber
8

Perintah ini yang dapat Anda periksa hampir semuanya:

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

atau

tomcat/bin/catalina.sh version

Dan hasilnya terlihat seperti ini

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

jalankan yang berikut ini

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

jawabannya akan seperti:

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

Pilihan lain adalah melihat catatan rilis dari tomcat, berlaku untuk linux / window

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

Saya tahu ini mungkin sudah terlambat untuk ini, tetapi ini bisa berguna: Jika Anda mencoba untuk mengetahui versi Apache Tomcat Server dari kode Java, Anda dapat menggunakan:

dari HttpServlet:

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

dari ServletContextListener:

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

Jika Tomcat diinstal sebagai layanan, coba:

sudo /etc/init.d/tomcat version

Ganti "tomcat" dengan nama layanan yang sebenarnya.

Christopher Yang
sumber
3

Di Linux untuk memeriksa versi kucing jantan

cd /opt/tomcat/bin

./catalina.sh version
Narendra Kumar
sumber
Ini berfungsi, tetapi Anda harus menggunakan 'sudo' setiap saat, bukan?
Sandun
2

Buka beranda tomcat Anda (Biasanya localhost:8080)

Anda akan melihat sesuatu seperti ini:

masukkan deskripsi gambar di sini

Eduardo
sumber
1

berjalan di terminal server Unix

w3m http://localhost:8080/

untuk berhenti tekan q dan y berikutnya

Alvaro Vicente León Silvano
sumber
1

Masukkan 404.jspataunon-existent.jsp .

Dapatkan nomor versi Tomcat / JBoss di bagian bawah halaman.

Ivan Chau
sumber
1

Untuk mengamankan Tomcat dari peretas, disarankan agar kami mencoba beberapa langkah menyembunyikan informasi versi kucing jantan. Proyek OWASP menyarankan beberapa langkah. https://www.owasp.org/index.php/Securing_tomcat . Jika instalasi kucing jantan dilindungi, maka hanya 1 dari jawaban di atas yang akan menunjukkan versi kucing jantan.
yaitu melalui file $ TOMCAT_HOME \ RELEASE-NOTE di mana nomor versi diumumkan dengan jelas.

Saya memiliki satu server yang dilindungi tersebut dan hanya file RELEASE-NOTE yang mengungkapkan versi kucing jantan tersebut. semua teknik lain gagal mengungkapkan info versi.

anjanb
sumber
1

Kami berjalan di lingkungan Windows dan saya harus menemukan cara untuk mendapatkan versi Tomcat di luar lingkungan Java. Tanpa mengetahui versinya, saya tidak dapat menentukan direktori. Saya akhirnya menemukan cara terbaik untuk menanyakan layanan Tomcat menggunakan:

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

kenbrown_ct
sumber
0

Manajer tugas Windows> Proses> temukan kucing jantan> klik kanan> buka lokasi file> jika Anda menjalankan Tomcat7w.exe, itu terlihat pada deskripsi.

Tomcat harus berjalan agar terlihat di Proses jika tidak di Windows Vista / 7 buka task manager> tab (layanan) temukan tomcat memulainya dan kemudian memproses.

madlymad
sumber
Saya pergi ke task manager, satu-satunya proses menunjukkan adalah java.exe bukan tomcat7w.exe. jika saya membunuh java.exe server mati
Yichaoz
0

Dalam lingkungan seperti Unix, saya juga merekomendasikan untuk memeriksa baris perintah proses yang sedang berjalan:

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

Seseorang dapat berjalan pada perilaku aneh yang halus karena variabel lingkungan (sistem operasi) dan properti sistem (Java) yang disetel ke nilai yang tidak terduga. Saya mempunyai situasi di mana karena Tomcat yang sudah ketinggalan zaman setenv.sh, A Tomcat 8 dimulai dengan kelas-kelas dari Tomcat 7 di classpath. Pastikan bahwa dalam opsi perintah baris proses seperti -Dcatalina.base, -Dcatalina.homedan -classpathmasuk akal.

Abdull
sumber
0

Cukup mulai tomcat dan cari " Nama versi server " catalina.logsdan Anda akan mendapatkan versi kucing jantan itu. Sebagai contoh:

"07 Mar 2019 11:25:40. Org.apache.catalina.startup.VersionLoggerListener log INFO: Nama versi server: Apache Tomcat / 9.0.16 "

Shubh
sumber
0

Anda dapat mengetahui informasi server melalui halaman statusnya:

{running-tomcat-url}/manager/status

Pada halaman itu Anda bisa melihat versi Java tempat Tomcat Anda berjalan

Catatan: Saya juga menempelkan jawaban ini pada masalah kompatibilitas Tomcat6 dan JRE7. Major.minor versi 51.0 tidak didukung

Carlo Ledesma
sumber
Bukankah ini hanya ketika manajer diinstal? Saya tahu standarnya adalah untuk tetapi kita tidak melakukannya
DannyK
0

Untuk mengetahui versi kucing jantan yang tepat saja, kunjungi saja vi tomcat/BUILDING.txt

gobi
sumber