2015-06-26 67 views
6

我想剖析我在Tomcat和Eclipse上運行的Spring Web應用程序。我將VisualVM添加到Eclipse中,並按照以下步驟運行應用程序以進行分析。VisualVM無法在Eclipse上剖析Web應用程序

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,但不知道如何。

+0

嘗試從命令行運行jvisualvm並將其附加到正在運行的程序中。你可以用jmc或yourkit來做同樣的事情 –

回答

3

當VisualVM插件啓動Tomcat時,可​​能是一個不完整類路徑的問題。您可以嘗試更正您創建的啓動配置的類路徑(例如,嘗試從tomcat安裝中添加bin/tomcat-juli.jar),但是我懷疑這很容易實現。

你可以嘗試以下方法:

  • 啓動你的Tomcat,例如從Eclipse的
  • 然後手動啓動VisualVM的:它實際上是JDK的一部分,位於< JDK目錄> /斌/ jvisualvm文件(.exe)的,你應該看到Tomcat進程,然後你可以打開應用程序列表
  • 它有一個雙擊。
0

這是在代碼依賴的類文件在運行時未找到時導致的。這純粹是類路徑的問題。類路徑中不存在該類,或者在類路徑中有不同版本的JAR文件。如果課程路徑得到糾正,異常將消失。

相關問題