J'essaie de faire fonctionner Appfuse + Tomcat + jRebel.
Appfuse utilise par défaut Cargo pour télécharger Tomcat (version 7.0.33) et y déployer l'application. Je souhaite utiliser un Tomcat déjà installé (version 7.0.27) au lieu de celui téléchargé. J'ai effectué la modification après le appfuse FAQ .
Après avoir déployé avec mvn cargo:run
, comment puis-je savoir que Tomcat en cours d'exécution est bien 7.0.27?
J'avais l'habitude de taper une mauvaise URL (ex. Localhost: 8080/dfsfsdf) pour la voir dans la page d'erreur, mais maintenant, elle ne montre rien.
Mon $CATALINA_HOME
pointe vers mon propre Tomcat 7.0.27 . Désolé j'ai oublié de mentionner, c'est pour Windows
Mettre à jour:
Depuis que cette question est devenue en quelque sorte populaire, je voudrais expliquer pourquoi cette réponse acceptée. simple, c’est le premier qui a résolu mon problème.
en regardant le titre de la question, @Tech Junkie et @CPU 100 ont vraiment la meilleure réponse, mais pas pour le scénario que j'ai rencontré. (Je voulais savoir si mvn cargo:run
exécute mon Tomcat installé ou un Tomcat "intégré au projet") :)
si vous pouvez télécharger un fichier JSP, vous pouvez imprimer des informations comme dans cet exemple: bestdesigns.co.in/blog/check-jsp-Tomcat-version
Enregistrez ce code dans un fichier nommé Tomcat_version.jsp:
Tomcat Version : <%= application.getServerInfo() %><br>
Servlet Specification Version :
<%= application.getMajorVersion() %>.<%= application.getMinorVersion() %> <br>
JSP version :
<%=JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br>
Lorsque vous accédez à http://example.com/Tomcat_version.jsp , le résultat devrait ressembler à ceci:
Tomcat Version : Apache Tomcat/5.5.25
Servlet Specification Version : 2.4
JSP version: 2.0
Bien que cela ne soit pas récent, je pensais que ma réponse pouvait toujours aider les autres:
cd Tomcat/lib
Java -cp catalina.jar org.Apache.catalina.util.ServerInfo
et c'est tout.
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
./version.sh
ou version.bat
S'il n'existe pas de version.bat ou version.sh, utilisez un outil pour décompresser les fichiers JAR (\ Tomcat\server\lib\catalina.jar) et recherchez-le dans le fichier org\Apache\catalina\util\lib\ServerInfo. .properties . la version définie sous "server.info =".
exécutez le script dans votre répertoire 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
Vous pouvez simplement ouvrir http://localhost:8080/
dans votre navigateur Web Cela ouvrira la page d’accueil de Tomcat qui montre comment exécuter la version de Tomcat comme ceci:
Apache Tomcat/7.0.42
La version de Tomcat en cours d'exécution
Si vous définissez la variable d'environnement -% CATALINA_HOME%, alorsWindows:
>> cd %CATALINA_HOME%\bin
>> version
Alternativement
Java.exe -cp lib\catalina.jar org.Apache.catalina.util.ServerInfo
MY SETTING --- J'espère que le vôtre ressemblera à ce qui suit
%CATALINA_HOME% --- C:\Program Files\Tomcat\Apache-Tomcat-8.0.28
SORTIE
Version du serveur: Apache Tomcat/8.0.28 Version du serveur: 7 octobre 2015 18:25:21 UTC Numéro du serveur: 8.0.28.0 Nom du système d'exploitation: Windows 7 Version du système d'exploitation: 6.1 Architecture: AMD64 Version JVM: 1.8.0_111-b14 Fournisseur JVM: Oracle Corporation
Pour connaître la version de Tomcat, recherchez ce fichier - version.sh pour * nix ou version.bat pour Windows. Ce fichier version.sh se trouve normalement dans le dossier bin Tomcat.
phpmongodb@kumar:/usr/share/Tomcat7/bin$ ./version.sh
Remarque
Si vous ne savez pas où est le fichier version.sh, essayez cette commande:
Sudo find / -name "version.sh"
Découvrez tout sur Tomcat7.
Sudo find / -name "Tomcat7"
Dans le dossier principal de Tomcat, vous trouverez le fichier RELEASE-NOTES qui contient les lignes suivantes (~ ligne 20-21):
Apache Tomcat Version 8.0.22 Release Notes
Ou vous pouvez obtenir les mêmes informations en utilisant ligne de commande :
Les fenêtres :
type RELEASE-NOTES | find "Apache Tomcat Version"
Sortie:
Apache Tomcat Version 8.0.22
Linux :
cat RELEASE-NOTES | grep "Apache Tomcat Version"
Sortie:
Apache Tomcat Version 8.0.22
lancer le suivant
/usr/local/Tomcat/bin/catalina.sh version
sa réponse sera quelque chose comme:
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
Pour la machine 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
Pour machine 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
Si Tomcat est installé en tant que service:
#Sudo /etc/init.d/Tomcat version
Une autre option est de consulter les notes de publication de Tomcat, applicables à linux/window.
{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt
Si Tomcat est installé en tant que service, essayez:
Sudo /etc/init.d/Tomcat version
Echangez "Tomcat" avec le nom actuel du service.
Je sais qu'il est peut-être trop tard pour cela, mais cela pourrait être utile: Si vous essayez de connaître la version d'Apache Tomcat Server à partir du code Java, vous pouvez utiliser:
à partir d'un HttpServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletContext().getServerInfo()
}
à partir d'un ServletContextListener:
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().getServerInfo();
}
Entrez 404.jsp
ou non-existent.jsp
.
Obtenez le numéro de version de Tomcat/JBoss au bas de la page.
Pour protéger Tomcat contre les pirates, il est recommandé d’essayer quelques étapes pour masquer les informations de version de Tomcat. Le projet OWASP suggère quelques étapes. https://www.owasp.org/index.php/Securing_Tomcat . Si une installation Tomcat est ainsi protégée, seule l'une des réponses ci-dessus indiquera la version de Tomcat.
je passe par le fichier $ Tomcat_HOME\RELEASE-NOTES où le numéro de version est clairement annoncé.
J'avais un tel serveur protégé et seul le fichier RELEASE-NOTES révélait la version du Tomcat. toutes les autres techniques n'ont pas permis de révéler les informations de version.
Sous Linux pour vérifier la version de Tomcat
cd /opt/Tomcat/bin
./catalina.sh version
Cette commande que vous pouvez vérifier presque tout:
Java -cp Tomcat/lib/catalina.jar org.Apache.catalina.util.ServerInfo
Et la sortie ressemble à ceci
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
Nous fonctionnons dans un environnement Windows et je devais trouver un moyen d’extraire la version de Tomcat de l’environnement Java. Sans connaître la version, je ne pouvais pas déterminer les répertoires. J'ai finalement trouvé le meilleur moyen d'interroger le service Tomcat en utilisant:
C:\temp> sc query | trouver/je "Tomcat"
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6
exécuté sur le terminal du serveur Unix
w3m http://localhost:8080/
pour quitter, appuyez sur q et sur y
Démarrez simplement Tomcat et recherchez " Nom de la version du serveur " dans catalina.logs
et vous obtiendrez la version de votre Tomcat. Par exemple:
"Journal de bord 07. 2019 11:25:40. Journal org.Apache.catalina.startup.VersionLoggerListener INFORMATION: Nom de la version du serveur: Apache Tomcat / 9.0.16 "
Dans les environnements de type Unix, je vous recommande également de vérifier la ligne de commande du processus en cours d'exécution:
$ 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
...
On peut utiliser des comportements étranges subtils en raison de variables d’environnement (système d’exploitation) et de propriétés système (Java) définies sur des valeurs inattendues. En raison d'une version obsolète de Tomcat setenv.sh
, un Tomcat 8 a démarré avec les classes d'un Tomcat 7 sur le chemin d'accès aux classes. Assurez-vous que les options de ligne de commande du processus telles que -Dcatalina.base
, -Dcatalina.home
et -classpath
ont du sens.
Gestionnaire de tâches Windows> Processus> rechercher Tomcat> clic droit> emplacement du fichier ouvert> si vous exécutez Tomcat7w.exe, il est visible dans la description.
Tomcat doit fonctionner pour être visible dans les processus, sinon sous Windows Vista/7, accédez au gestionnaire de tâches> onglet (services), recherchez Tomcat, démarrez-le, puis procédez au traitement.
Vous pouvez trouver les informations sur le serveur via sa page d'état:
{running-Tomcat-url}/manager/status
Sur cette page, vous pouvez voir la version de Java sur laquelle votre Tomcat fonctionne.
Remarque: j'ai également collé cette réponse sur Problème de compatibilité avec Tomcat6 et JRE7. Major.minor version 51.0 non supportée