Ik probeer Appfuse + kater + jRebel werkend te krijgen.
Appfuse gebruikt standaard Cargo om Tomcat (ver. 7.0.33) te downloaden en de applicatie erop te implementeren. Ik wil een reeds geïnstalleerde kater (ver. 7.0.27) gebruiken in plaats van de gedownloade. Ik heb de wijziging aangebracht volgens de veelgestelde vragen over appfuse.
Na implementatie met mvn cargo:run
, hoe kan ik dan weten dat de daadwerkelijk draaiende kater inderdaad 7.0.27 is?
Vroeger typte ik een verkeerde URL (bijv. localhost:8080/dfsfsdf) om deze op de foutpagina te zien, maar nu wordt er niets weergegeven.
Mijn $CATALINA_HOME
verwijst naar mijn eigen kater 7.0.27.
sorry vergeten te vermelden, het is voor Windows
Bijwerken:
Aangezien deze vraag op de een of andere manier populair was geworden, wil ik graag uitleggen waarom dat geaccepteerde antwoord is. eenvoudig, het was de eerste die mijn probleem oploste.
kijkend naar de titel van de vraag, @Tech Junkieen @CPU 100hebben echt het beste antwoord, maar niet voor het scenario dat ik tegenkwam. (Ik wilde weten of mvn cargo:run
mijn geïnstalleerde kater of een “in het project ingebedde” kater uitvoert) :)
Antwoord 1, autoriteit 100%
als je een JSP-bestand kunt uploaden, kun je wat informatie afdrukken zoals in dit voorbeeld: bestdesigns.co.in/blog/check-jsp-tomcat-version
Sla deze code op in een bestand met de naam tomcat_version.jsp:
Tomcat Version : <%= application.getServerInfo() %><br>
Servlet Specification Version :
<%= application.getMajorVersion() %>.<%= application.getMinorVersion() %> <br>
JSP version :
<%=JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br>
Wanneer u http://example.com/tomcat_version.jspopent, moet de uitvoer lijken op:
Tomcat Version : Apache Tomcat/5.5.25
Servlet Specification Version : 2.4
JSP version: 2.0
Antwoord 2, autoriteit 95%
Hoewel dit niet recent is, dacht ik, kan mijn antwoord anderen toch helpen:
cd tomcat/lib
java -cp catalina.jar org.apache.catalina.util.ServerInfo
en dat is het.
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
Antwoord 3, autoriteit 99%
- Probeer de map Tomcat_home/bin te ontleden of uit te voeren en zoek naar
een script met de naam version.shof version.bat, afhankelijk van uw
besturingssysteem. - Voer het script
./version.sh
ofversion.bat
uit
Als er geen version.bat of version.sh zijn, dan
gebruik een tool om JAR-bestanden uit te pakken (\tomcat\server\lib\catalina.jar) en kijk in het bestand org\apache\catalina\util\lib\ServerInfo.properties.
de versie gedefinieerd onder “server.info=”.
Antwoord 4, autoriteit 93%
voer het script uit in uw tomcat/bin
directory:
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
Antwoord 5, autoriteit 82%
U kunt eenvoudig http://localhost:8080/
openen in uw webbrowser
en dit zal de Tomcat-welkomstpagina openen die de draaiende Tomcat-versie als volgt laat zien:
Apache Tomcat/7.0.42
- Ik neem aan dat je Tomcat op poort 8080 draait
Antwoord 6, autoriteit 27%
De release-opmerkingen gebruiken
In de hoofdmap van Tomcat vindt u het bestand RELEASE-NOTESdat de volgende regels bevat (~regel 20-21):
Apache Tomcat Version 8.0.22 Release Notes
Of u kunt dezelfde informatie verkrijgen via de opdrachtregel:
-
Windows:
type RELEASE-NOTES | find "Apache Tomcat Version"
Uitvoer:
Apache Tomcat Version 8.0.22
-
Linux:
cat RELEASE-NOTES | grep "Apache Tomcat Version"
Uitvoer:
Apache Tomcat Version 8.0.22
Antwoord 7, Autoriteit 27%
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
Als Tomcat is geïnstalleerd als een service:
#sudo /etc/init.d/tomcat version
Antwoord 8, Autoriteit 25%
De versie van Momenteel Running Tomcat
Als u de Environtment-variabele -% Catalina_Home% instelt, dan
Windows:
>> cd %CATALINA_HOME%\bin
>> version
alternatief,
java.exe -cp lib\catalina.jar org.apache.catalina.util.ServerInfo
Mijn instelling — Ik hoop dat de jouwe als volgt lijken op
%CATALINA_HOME% --- C:\Program Files\Tomcat\apache-tomcat-8.0.28
UITGANG
Serverversie: Apache Tomcat/8.0.28
Server gebouwd: 7 oktober 2015 18:25:21 UTC
Servernummer: 8.0.28.0
OS-naam: Windows 7
OS-versie: 6.1
Architectuur: amd64
JVM-versie: 1.8.0_111-b14
JVM-leverancier: Oracle Corporation
Antwoord 9, autoriteit 24%
Als je de Tomcat-versie wilt weten, zoek je dit bestand: version.sh voor *nix of version.bat voor Windows. Dit version.sh-bestand bevindt zich normaal gesproken in de Tomcat-bin-map.
phpmongodb@kumar:/usr/share/tomcat7/bin$ ./version.sh
Opmerking
Als je niet zeker weet waar het version.sh-bestand is, probeer dan deze opdracht:
sudo find / -name "version.sh"
Ontdek alles over Tomcat7.
sudo find / -name "tomcat7"
Antwoord 10, autoriteit 24%
Dit ene commando waarmee je bijna alles kunt controleren:
java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo
of
tomcat/bin/catalina.sh version
En de uitvoer ziet er zo uit
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
Antwoord 11, autoriteit 14%
voer het volgende uit
/usr/local/tomcat/bin/catalina.sh version
het antwoord zal ongeveer zijn als:
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
Antwoord 12, autoriteit 12%
Ik weet dat het hier misschien te laat voor is, maar dit kan handig zijn:
Als u de Apache Tomcat Server-versie probeert te achterhalen uit Java-code, kunt u het volgende gebruiken:
van een HttpServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletContext().getServerInfo()
}
van een ServletContextListener:
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().getServerInfo();
}
Antwoord 13, autoriteit 12%
Een andere optie is om de release-opmerkingen van Tomcat te bekijken, van toepassing op linux/window
{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt
Antwoord 14, autoriteit 12%
Ik heb deze uitdaging wanneer ik op een Ubuntu 18.04 Linux-server werk.
Zo heb ik het opgelost:
Voer de onderstaande opdracht uit om de locatie van uw version.sh
-bestand te bepalen:
sudo find / -name "version.sh"
Voor mij was de output:
/opt/tomcat/bin/version.sh
Gebruik vervolgens de uitvoer en voer het bestand (version.sh
) uit als een shellscript (sh
):
sh /opt/tomcat/bin/version.sh
Dat is alles.
Ik hoop dat dit helpt
Antwoord 15, autoriteit 10%
Als Tomcat is geïnstalleerd als een service, probeer dan:
sudo /etc/init.d/tomcat version
Verwissel “tomcat” met de echte naam van de service.
Antwoord 16, autoriteit 6%
In Linux om de Tomcat-versie te controleren
cd /opt/tomcat/bin
./catalina.sh version
Antwoord 17, autoriteit 4%
Voer 404.jsp
of non-existent.jsp
in.
Verkrijg het Tomcat/JBoss-versienummer onderaan de pagina.
Antwoord 18, autoriteit 4%
Open je kater-startpagina (meestal localhost:8080
)
Je ziet zoiets als dit:
Antwoord 19, autoriteit 4%
Voor Windows PowerShell-opdrachtregelmethode voor het controleren van actieve versie(s) van Tomcat-service:
(get-service Tomcat*).DisplayName
Voorbeelduitvoer…
Apache Tomcat 8.5 Tomcat8
Als u ook aanvullende details wilt weten, waaronder de locatie van de map waar de service wordt uitgevoerd:
Get-WmiObject win32_service | Where-Object {$_.Name -like 'Tomcat*'} | select Name, DisplayName, State, PathName
Voorbeelduitvoer…
Name DisplayName State PathName
---- ----------- ----- --------
Tomcat8 Apache Tomcat 8.5 Tomcat8 Running "C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\Tomcat8.exe" /...
Antwoord 20, autoriteit 2%
uitvoeren op terminal van de Unix-server
w3m http://localhost:8080/
om te stoppen, druk op q en vervolgens op y
Antwoord 21, autoriteit 2%
Om Tomcat te beveiligen tegen hackers, raden we aan een paar stappen te proberen om de versie-informatie van Tomcat te verbergen. Het OWASP-project stelt een aantal stappen voor. https://www.owasp.org/index.php/Securing_tomcat. Als een Tomcat-installatie dus beveiligd is, dan zal slechts 1 van de bovenstaande antwoorden de versie van Tomcat tonen.
d.w.z. het bestand $TOMCAT_HOME\RELEASE-NOTES doornemen waarin het versienummer duidelijk wordt aangekondigd.
Ik had zo’n beveiligde server en alleen het RELEASE-NOTES-bestand onthulde de versie van de kater. alle andere technieken konden de versie-informatie niet onthullen.
Antwoord 22, autoriteit 2%
We draaien in een Windows-omgeving en ik moest een manier vinden om de Tomcat-versie buiten de Java-omgeving te krijgen. Zonder de versie te kennen, kon ik de mappen niet bepalen. Ik heb eindelijk ontdekt dat de beste manier was om de Tomcat-service op te vragen met:
C:\temp>sc-query | zoek /I “kater”
SERVICE_NAME: Tomcat6
DISPLAY_NAME: Apache Tomcat 6.0 Tomcat6
Antwoord 23, autoriteit 2%
Op Windows gewoon cmd
C:\Program Files (x86)\Extensis\Portfolio Server\applications\tomcat\bin>version
Antwoord 24
Windows-taakbeheer > Processen > zoek kater > klik met de rechtermuisknop > open bestandslocatie > als je Tomcat7w.exe uitvoert, is het zichtbaar bij beschrijving.
Tomcat zou moeten draaien om zichtbaar te zijn bij Processen, zo niet bij Windows Vista/7 ga naar taakbeheer > tab (services) zoek tomcat start het en vervolgens verwerkt.
Antwoord 25
In Unix-achtige omgevingen raad ik ook aan om de opdrachtregel van het actieve proces te controleren:
$ 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
...
Men kan op subtiele rare gedrag draaien als gevolg van (besturingssysteem) omgevingsvariabelen en (Java) systeemeigenschappen die zijn ingesteld op onverwachte waarden. Ik had een situatie waarin vanwege een verouderde tomcat setenv.sh
, een Tomcat 8 begon met klassen van een Tomcat 7 op het klassenpad. Zorg ervoor dat in de opdrachtregelopties van het proces, zoals -Dcatalina.base
, -Dcatalina.home
en -classpath
logies.
Antwoord 26
Start gewoon Tomcat en zoek naar “server versienaam ” in catalina.logs
en u krijgt de versie van uw tomcat.
Bijvoorbeeld:
“maart 07, 2019 11:25:40 AM Org.apache.catalina.startup.versionLoggerListener Log
Info: Server Version Name: Apache Tomcat / 9.0.16 “
Antwoord 27
U kunt de serverinformatie vinden via de statuspagina:
{running-tomcat-url}/manager/status
Op die pagina kun je de versie van Java zien waarop je Tomcat draait
Opmerking: ik heb dit antwoord ook geplakt op Compatibiliteitsprobleem met Tomcat6 en JRE7. Niet-ondersteunde major.minor-versie 51.0
Antwoord 28
Als u alleen de exacte tomcat-versie wilt weten, gaat u naar vi tomcat/BUILDING.txt