【发布时间】:2014-03-06 23:54:55
【问题描述】:
当我运行 Java 应用程序(带有 main 方法的简单应用程序)时,VisualVM 将其列为正在运行的应用程序。但是,在 NetBeans 上运行我的 Java Web 应用程序后,VisualVM 1.3.7 仅在 Local 下显示 NetBeans IDE 7.2.1 (pid 4708)、VisualVM 和 GlassFish (pid 2136)。
在 Netbeans 配置中,我使用的是 JDK 1.7,J2EE 版本是 Java EE6,Profile 设置为 Web,它在 GlassFish Server 4 上运行。
我还根据this 的“无法从 GlassFish 获取 Web 应用程序列表”部分将 Web 容器设置为高。
根据我为解决问题的研究,我下载并安装了 VisualVM-Extensions 插件也无济于事。
我使用了以下所有方法来运行 VisualVM。
1) I ran it by executing the VisualVM.exe file
2) using following command in console
visualvm --jdkhome "C:\Program Files\Java\jdk1.7.0_13" --userdir "C:\Users\Alex\AppData"
3) using following command in console
visualvm --jdkhome "C:\Program Files\Java\jdk1.7.0_13" --userdir "C:\Documents and Settings\Alex\AppData\Roaming\VisualVM\1.3.7"
【问题讨论】:
-
我假设“在 NetBeans 上运行我的 Java Web 应用程序”意味着它正在使用 Glassfish 容器来托管您的 Web 应用程序?这就是为什么您可以看到 Glassfish 过程的原因。当您说“当我运行 Java 应用程序时”时,这是什么意思?你有一个 jar 文件,里面有像 Jetty 这样的嵌入式 Web 服务器吗?如果您直接从 Java 命令运行它,您会将其视为自己的进程。有关执行环境中任何差异的更多详细信息会有所帮助。
-
@EdH yiu 是对的,我的服务器是 GlassFish。关于 java 应用程序我的意思是一个非 web java 应用程序,它是一个带有 main 方法的简单应用程序。
标签: java netbeans-7 glassfish-4 visualvm