簡體   English   中英

VisualVM無法在Eclipse上分析Web應用程序

[英]VisualVM is unable to profile a web application on Eclipse

我想介紹一下在Tomcat和Eclipse上運行的Spring Web Application。 我將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,例如從Eclipse開始
  • 然后手動啟動VisualVM:它實際上是JDK的一部分,位於<JDK目錄> / 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文件。 如果類路徑得到糾正,則異常將消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM