कैसे पता चल रहा है tomcat संस्करण


175

मैं Appfuse + tomcat + jRebel काम करने की कोशिश कर रहा हूँ।

डिफ़ॉल्ट रूप से ऐप्पस का उपयोग कार्गो को टॉमकैट डाउनलोड करने के लिए किया जाता है (ver। 7.0.33) और इसके लिए एप्लिकेशन को तैनात करें। मैं पहले से ही डाउनलोड किए गए के बजाय पहले से स्थापित टोमैट (ver। 7.0.27) का उपयोग करना चाहता हूं। मैं परिवर्तन के बाद appfuse अक्सर पूछे जाने वाले प्रश्न

के साथ तैनात करने के बाद mvn cargo:run, मैं कैसे जान सकता हूं कि वास्तव में चलने वाला टॉमकैट 7.0.27 है?

मैंने इसे गलत पृष्ठ में देखने के लिए एक गलत URL (उदा। स्थानीय होस्ट: 8080 / dfsfsdf ) टाइप किया , लेकिन अब यह कुछ भी नहीं दिखाता है।

मेरे $CATALINA_HOMEअपने ट्वायकट 7.0.27 पर मेरे अंक। खेद का उल्लेख करना भूल गया, यह विंडोज के लिए है

अपडेट करें:

चूँकि यह प्रश्न किसी तरह से लोकप्रिय हो गया था, इसलिए मैं यह बताना चाहूँगा कि क्यों स्वीकार किया गया उत्तर। सरल, यह पहला था जिसने मेरी समस्या को हल किया।

प्रश्न के शीर्षक को देखकर , @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
उदाहरण के लिए, सर्वर / लिबास एक छोटे से अधिक विशिष्ट होगा,/opt/tomcat/lib
काई कार्वर

4
या विंडोज पर उदाहरण के लिए,C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib
काई कार्वर

10
अभी भी 2017 में काम कर रहा है। मेरे CentOS 7 पर, मुझे / usr / share / tomcat / lib में जाने की आवश्यकता है।
मैथ्यू

एक सोलारिस 10 सर्वर, मुझे एक त्रुटि मिलती है "थ्रेड में अपवाद" मुख्य "java.lang.UnsupportedClassVersionError: खराब संस्करण संख्या में .class फ़ाइल" जब मैंने कमांड चलाया। आरएचईएल 7.2 पर मुझे सही आउटपुट मिला।
sv।

5
यह सही उत्तर के रूप में टैग होना चाहिए। मैं यह नहीं देखता कि आपको एक जेएसपी लिखने की आवश्यकता क्यों है और इसे टॉमकैट संस्करण को निर्धारित करने के लिए तैनात करना चाहिए। इस उत्तर में व्यापक दर्शक हो सकते हैं, न कि केवल प्रोग्रामर, जैसे सिस्टम एडमिन, सटीक टॉमकैट संस्करण जानना चाहते हैं।
इथरेल

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 \ उत्प्रेरित \ उपयोग \ lib \ Server \fo.properties। "server.info =" के तहत परिभाषित संस्करण।


खेद है कि मैं उल्लेख करना भूल गया, मैं विंडोज़ में हूँ। लेकिन समस्या यह है, मैं वास्तव में नहीं जानता कि किस फ़ोल्डर का
टॉमकैट

@Kossel मैंने आपके संस्करण की जांच करने के लिए और जानकारी जोड़ी है लेकिन यह अधिक मैनुअल है।
grepit

1
मुझे org \ apache \ catalina \ use \ ServerInfo.properties में संस्करण मिला था (कोई भी लीगल पैकेज नहीं थे)
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/अपने वेब ब्राउजर में खोल सकते हैं और यह टॉमकैट वेलकम पेज को खोलेगा, जो इस तरह से टॉमकैट वर्जन को दिखाएगा:

Apache Tomcat/7.0.42
  • मुझे लगता है कि आपका टोमाकट 8080 पोर्ट पर चल रहा है

12

रिलीज नोट्स का उपयोग करना

मुख्य टॉमकैट फ़ोल्डर में आप RELEASE-NOTES फ़ाइल पा सकते हैं जिसमें निम्नलिखित पंक्तियाँ हैं (~ पंक्ति 20-21):

                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

वर्तमान में टॉम्कट चल रहा है का संस्करण

यदि आप 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 OS नाम: विंडोज 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

यहाँ * निक्स पर। मेरी रिलीज़ नोट्स फ़ाइल गायब थी। sudoकमांड चलाना मेरे लिए काम किया
कुणाल

10

टॉमकैट संस्करण का पता लगाने के लिए, इस फ़ाइल को खोजें - version.sh for * nix या version.bat for Windows। यह version.sh फ़ाइल सामान्यतः टॉमकैट बिन फ़ोल्डर में स्थित है।

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


5

मुझे पता है कि इसके लिए बहुत देर हो सकती है, लेकिन यह उपयोगी हो सकता है: यदि आप जावा कोड से Apache Tomcat सर्वर संस्करण को जानने की कोशिश करते हैं, तो आप इसका उपयोग कर सकते हैं:

HttpServlet से:

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

सर्वलेटकोटेक्स्ट लाईनर से:

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

4

यदि Tomcat को सेवा के रूप में स्थापित किया गया है, तो प्रयास करें:

sudo /etc/init.d/tomcat version

सेवा के वास्तविक नाम के साथ "टॉमकैट" स्वैप करें।


3

लिनक्स में टॉमकैट संस्करण की जांच करने के लिए

cd /opt/tomcat/bin

./catalina.sh version

यह काम करता है, लेकिन आपको हर बार 'सुडो' का उपयोग करना होगा, है ना?
सांडुन

2

अपना टेंकैट मुख पृष्ठ खोलें (आमतौर पर) localhost:8080 )

आप कुछ इस तरह देखेंगे:

यहां छवि विवरण दर्ज करें



1

दर्ज करें 404.jspयाnon-existent.jsp

पृष्ठ के निचले भाग में Tomcat / JBoss संस्करण संख्या प्राप्त करें।


1

हैकर्स से टॉमकैट को सुरक्षित करने के लिए, यह अनुशंसा की जाती है कि हम टॉमकैट संस्करण की जानकारी को छिपाने के लिए कुछ चरणों का प्रयास करें। OWASP परियोजना कुछ चरणों का सुझाव देती है। https://www.owasp.org/index.php/Securing_tomcat । यदि इस प्रकार एक टॉमकैट इंस्टॉलेशन संरक्षित है, तो उपरोक्त उत्तरों में से केवल 1 ही टॉमकैट का संस्करण दिखाएगा।
$ TOMCAT_HOME \ RELEASE-NOTES फ़ाइल के माध्यम से जा रहा है जहाँ संस्करण संख्या स्पष्ट रूप से घोषित की गई है।

मेरे पास एक ऐसा संरक्षित सर्वर था और केवल RELEASE-NOTES फाइल ने ही टॉमकैट के संस्करण का खुलासा किया। अन्य सभी तकनीकें संस्करण जानकारी को प्रकट करने में विफल रहीं।


1

हम एक विंडोज वातावरण में चल रहे हैं और मुझे जावा वातावरण के बाहर टॉमकैट संस्करण प्राप्त करने का तरीका खोजना पड़ा। संस्करण को जाने बिना, मैं निर्देशिकाओं का निर्धारण नहीं कर सकता। मुझे आखिरकार टॉमकैट सेवा का उपयोग करने का सबसे अच्छा तरीका मिला:

C: \ temp> sc query | ढूँढें / I "
टॉमकैट " SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6


0

Windows कार्य प्रबंधक> प्रक्रियाएँ> tomcat खोजें> राइट क्लिक> फ़ाइल स्थान खोलें> यदि आप Tomcat7w.exe चलाते हैं तो यह विवरण में दिखाई देता है।

Windows Vista / 7 पर नहीं तो टास्क प्रक्रियाओं पर दिखाई देने के लिए टॉस्कैट चलना चाहिए। टास्क मैनेजर> टैब (सर्विसेज) पर जाएं टॉमकैट इसे शुरू करें और फिर प्रोसेस करें।


मैं कार्य प्रबंधक के पास गया, केवल दिखाने की प्रक्रिया java.exe के बजाय tomcat7w.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
...

एक (ऑपरेटिंग सिस्टम) पर्यावरण चर और (जावा) सिस्टम गुण अनपेक्षित मान के लिए सेट होने के कारण सूक्ष्म अजीब व्यवहार पर चला सकते हैं। मेरे पास एक स्थिति थी जहां एक पुरानी टोमाटैक के कारण setenv.shए टॉम्कट 8 ने क्लासपाथ पर एक टॉमकैट 7 से कक्षाएं शुरू कीं। सुनिश्चित करें कि प्रक्रिया में कमांड लाइन विकल्प जैसे कि -Dcatalina.base, -Dcatalina.homeऔर -classpathसमझ में आता है।


0

बस टॉमकैट शुरू करें और " सर्वर संस्करण नाम " खोजें catalina.logsऔर आपको अपने टॉमकैट का संस्करण मिलेगा। उदाहरण के लिए:

"मार्च 07, 2019 11:25:40 AM org.apache.catalina.startup.VersionLoggerListener लॉग जानकारी: सर्वर संस्करण का नाम: Apache Tomcat / 9.0.16 "


0

आप सर्वर की जानकारी उसके स्टेटस पेज के माध्यम से जान सकते हैं:

{running-tomcat-url}/manager/status

उस पृष्ठ पर आप जावा का संस्करण देख सकते हैं जिस पर आपका टॉमकैट चलता है

नोट: मैंने इस उत्तर को Tomcat6 और JRE7 संगतता समस्या पर भी चिपकाया है । असमर्थित प्रमुख। लघु संस्करण 51.0


क्या यह केवल तब नहीं है जब प्रबंधक स्थापित हो? मैं जानता हूँ कि डिफ़ॉल्ट करने के लिए है, लेकिन हम नहीं
DannyK

0

अकेले सटीक tomcat संस्करण को जानने के लिए, बस यात्रा करें vi tomcat/BUILDING.txt

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.