如何在注册表编辑器中查找 tomcat 版本?

How to find tomcat version in registry editor?

一些现有的答案说去 SOFTWARE\Apache 软件 Foundation\TomcatVERSION

但是我找不到任何tomcat版本目录

我有

SOFTWARE\Apache Software Foundation\Tomcat.0\Tomcat9

里面有一个version属性告诉tomcat版本是9

但目标文件夹位置随版本而变化。 如果我有tomcat8,目标文件夹位置是

SOFTWARE\Apache Software Foundation\Tomcat.0\Tomcat8

我需要一个固定路径来告诉我设备上现有的 tomcat 版本。 提前致谢。

我发布这篇文章可能会启发其他人。

我有一个可能可行的非常愚蠢的想法,调用 powershell 并使用命令获取 tomcat 版本,然后读取输出以便您可以使用它做任何您想做的事情。

请注意此代码是一个 jugaad!

using (Process process = new Process())
{
    process.StartInfo.FileName = "powershell.exe";
    process.StartInfo.Arguments = "(get-service Tomcat*).DisplayName";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = true;
    process.Start();

    // Synchronously read the standard output of the spawned process.
    StreamReader reader = process.StandardOutput;
    string output = reader.ReadToEnd();

    process.WaitForExit();

    //do whatever you want with output (such as string manipulation) here
}

对我有帮助的帖子:here and here

你不能。没有路径可以告诉您安装的确切 Apache Tomcat 版本。您有多种选择。

$CATALINA_HOME/bin 中有一个 version.[bat|sh] 脚本,它将报告确切的 Tomcat 版本以及 OS 和 JVM 信息。这需要正确设置 JAVA_HOME 环境变量。

如果您查看 $CATALINA_HOME/lib/catalina.jar 中的 /META-INF/MANIFEST.MF 文件,您会发现 Implementation-Version 字段列出了确切的版本。请注意,规范 JAR 报告规范实现版本,而不是 Tomcat 版本,因此您不能只选择任何 JAR。

您还可以在 $CATALINA_HOME/lib/catalina.jar 中的 /org/apache/catalina/util/ServerInfo.properties 找到版本信息。

Tomcat 启动时,日志中也会报告完整的版本信息。