我想分析一下在 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 ),但我怀疑这会很容易工作。
您可以尝试以下操作:
- 启动你的 Tomcat,例如来自日食
- 然后手动启动 VisualVM:它实际上是 JDK 的一部分,位于 /bin/jvisualvm(.exe)
- 在应用程序列表中,您应该看到 Tomcat 进程,然后您可以双击打开它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)