VisualVM无法在Eclipse上分析Web应用程序

我想介绍一下在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"

在本地我可以看到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,但不知道如何。


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

您可以尝试以下方法:

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

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

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


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

    链接地址: http://www.djcxy.com/p/19833.html

    上一篇: VisualVM is unable to profile a web application on Eclipse

    下一篇: Good practise to avoid memory leak