【问题标题】:VisualVM is unable to profile a web application on EclipseVisualVM 无​​法在 Eclipse 上分析 Web 应用程序
【发布时间】:2015-09-12 21:58:58
【问题描述】:

我想分析我在 Tomcat 和 Eclipse 上运行的 Spring Web 应用程序。我将 VisualVM 添加到 Eclipse 并按照以下步骤运行应用程序进行分析。

Right click on the application name > 
Run As > 
Run Configuration > 
Java Application > 
'Selected Project' > 
Set 'org.apache.catalina.starup.Boostrap' as a value for Main class, 
also selected VisualVM as the Launcher > clicked on Run button.

VisualVM 启动但显示以下消息:

  "Cannot open requested application"

在local下可以看到VisualVM、Eclipse和Tomcat。

以下异常将被抛出并显示在控制台上:

 Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/juli/logging/LogFactory
    at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:59)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

我认为问题是因为选择了错误的服务器。也许我应该选择 Tomcat,但不确定如何。

【问题讨论】:

  • 尝试从命令行运行 jvisualvm 并将其附加到正在运行的程序中。你可以用 jmc 或 yourkit 做同样的事情

标签: java eclipse tomcat web-applications visualvm


【解决方案1】:

可能是 VisualVM 插件启动 Tomcat 时类路径不完整的问题。您可以尝试更正您创建的启动配置的类路径(例如,尝试从您的 tomcat 安装中添加 bin/tomcat-juli.jar),但我怀疑这会很容易。

您可以尝试以下方法:

  • 启动您的 Tomcat,例如来自 Eclipse
  • 然后手动启动VisualVM:它实际上是JDK的一部分,位于/bin/jvisualvm(.exe)
  • 在应用程序列表中,您应该会看到 Tomcat 进程,然后您可以双击打开它。

【讨论】:

    【解决方案2】:

    通过运行 jmc 尝试使用 Java Mission Control。它包含在最新版本的 JDK 中。 请参阅 http://docs.oracle.com/javacomponents/jmc-5-5/jmc-user-guide/index.html 上的入门文档

    运行您的应用程序,然后打开 jmc 窗口并连接到 Tomcat 进程。

    【讨论】:

      【解决方案3】:

      这是在运行时找不到您的代码所依赖的类文件时引起的。这纯粹是类路径的问题。类路径中不存在该类,或者类路径中有不同版本的 JAR 文件。如果更正了类路径,异常就会消失。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-29
        • 2015-01-29
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        相关资源
        最近更新 更多