Java VisualVM (jvisualvm) 工具在启动时抛出警告“无法安装某些模块”

Posted

技术标签:

【中文标题】Java VisualVM (jvisualvm) 工具在启动时抛出警告“无法安装某些模块”【英文标题】:Java VisualVM (jvisualvm) tool throws warning "could not install some modules" at startup 【发布时间】:2016-08-08 11:15:15 【问题描述】:

,此后即使单击 jvisualvm 警告屏幕忽略按钮也无法启动。

系统详情: 1. Java 版本“1.8.0”Java HotSpot (TM) 64-Bit Server VM (build 25.0-b69,混合模式) 2.操作系统Debian 7.8 64位

Issue Warning details below:
Warning - could not install some modules:
    org.netbeans.lib.profiler.common - None of the modules providing the capability org.netbeans.lib.profiler.common.Profiler could be installed.
    org.netbeans.modules.profiler.api - The module org.netbeans.lib.profiler.common would also need to be installed.
    com.sun.tools.visualvm.core - The module org.netbeans.modules.profiler.api would also need to be installed.
    com.sun.tools.visualvm.core - The module org.netbeans.lib.profiler.common would also need to be installed.
    com.sun.tools.visualvm.core - The module named org.netbeans.modules.profiler/2 was needed and not found.
    com.sun.tools.visualvm.host - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.host.views - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.host.views - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.application - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.application - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.tools - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.tools - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.tools - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.jvmstat - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.jvmstat - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.jvmstat - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.jvmstat - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.coredump - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.coredump - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.threaddump - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.threaddump - The module com.sun.tools.visualvm.coredump would also need to be installed.
    com.sun.tools.visualvm.threaddump - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.threaddump - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.heapdump - The module named org.netbeans.modules.profiler.heapwalker was needed and not found.
    com.sun.tools.visualvm.heapdump - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.heapdump - The module com.sun.tools.visualvm.coredump would also need to be installed.
    com.sun.tools.visualvm.heapdump - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.heapdump - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.threaddump would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.coredump would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.heapdump would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.application.views - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.threaddump would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.heapdump would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.jvm - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.sa - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.sa - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.sa - The module com.sun.tools.visualvm.coredump would also need to be installed.
    com.sun.tools.visualvm.sa - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.sa - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.attach - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.attach - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.attach - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.attach - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.modules.appui - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.modules.appui - The module org.netbeans.modules.profiler.api would also need to be installed.
    com.sun.tools.visualvm.profiling - The module named com.sun.tools.visualvm.core/0-1 was needed and not found.
    com.sun.tools.visualvm.profiling - The module named org.netbeans.modules.profiler/2 was needed and not found.
    com.sun.tools.visualvm.profiling - The module named com.sun.tools.visualvm.application/0-1 was needed and not found.
    com.sun.tools.visualvm.profiling - The module named org.netbeans.modules.profiler.snaptracer/1 was needed and not found.
    com.sun.tools.visualvm.profiler - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.profiler - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.profiler - The module named org.netbeans.modules.profiler/2 was needed and not found.
    com.sun.tools.visualvm.profiler - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.profiler - The module named org.netbeans.modules.profiler.utilities/1 was needed and not found.
    com.sun.tools.visualvm.profiler - The module com.sun.tools.visualvm.profiling would also need to be installed.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.heapdump/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.tools/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.core/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module org.netbeans.modules.profiler.api would also need to be installed.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.threaddump/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module org.netbeans.lib.profiler.common would also need to be installed.
    com.sun.tools.visualvm.sampler - The module named org.netbeans.modules.profiler/2 was needed and not found.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.application/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.coredump/0-1 was needed and not found.
    com.sun.tools.visualvm.sampler - The module named com.sun.tools.visualvm.profiling/0-1 was needed and not found.
    com.sun.tools.visualvm.jmx - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.jmx - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.jmx - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.jmx - The module com.sun.tools.visualvm.tools would also need to be installed.
    com.sun.tools.visualvm.host.remote - The module com.sun.tools.visualvm.host would also need to be installed.
    com.sun.tools.visualvm.host.remote - The module com.sun.tools.visualvm.core would also need to be installed.
    com.sun.tools.visualvm.host.remote - The module com.sun.tools.visualvm.application would also need to be installed.
    com.sun.tools.visualvm.host.remote - The module com.sun.tools.visualvm.tools would also need to be installed.
java.lang.IllegalArgumentException: Not enabled: org.netbeans.modules.profiler.api
    at org.netbeans.Module.getClassLoader(Module.java:402)
    at org.netbeans.StandardModule.getParentLoader(StandardModule.java:526)
    at org.netbeans.StandardModule.classLoaderUp(StandardModule.java:483)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:1026)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:970)
    at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:301)
    at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:237)
    at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:262)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:142)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:111)
    at org.netbeans.core.startup.Main.start(Main.java:268)
    at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:84)
    at java.lang.Thread.run(Thread.java:744)

【问题讨论】:

【参考方案1】:

根本原因是 jvisualvm 用户目录指向一些我删除并更正的旧 java 引用。详情如下:

为了了解问题的细节;我用控制台选项运行 jvisualvm

**./jvisualvm -J-Dnetbeans.logger.console=true

这给了我一些输出和细节,如下所示:

Log Session: Monday, August 8, 2016 12:39:55 AM EDT
>System Info: 
  Product Version         = Java VisualVM
  Operating System        = Linux version 3.2.0-4-amd64 running on amd64
  Java; VM; Vendor        = 1.8.0; Java HotSpot(TM) 64-Bit Server VM 25.0-b69; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 1.8.0-b129
  Java Home               = /usr/local/jetty/common/Java/jdk8/jre
  System Locale; Encoding = en_US (visualvm); UTF-8
  Home Directory          = /root
  Current Directory       = /usr/local/jetty/common/Java/jdk8/bin
  User Directory          = /root/.visualvm/7u60
  Cache Directory         = /root/.cache/visualvm/7u60
  Installation            = /usr/local/jetty/common/Java/jdk8/lib/visualvm/visualvm
                            /usr/local/jetty/common/Java/jdk8/lib/visualvm/profiler
                            /usr/local/jetty/common/Java/jdk8/lib/visualvm/platform
  Boot & Ext. Classpath   = /usr/local/jetty/common/Java/jdk8/jre/lib/resources.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/rt.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/sunrsasign.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/jsse.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/jce.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/charsets.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/jfr.jar:/usr/local/jetty/common/Java/jdk8/jre/classes:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/localedata.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/zipfs.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/sunpkcs11.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/nashorn.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/dnsns.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/sunec.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/jfxrt.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/sunjce_provider.jar:/usr/local/jetty/common/Java/jdk8/jre/lib/ext/cldrdata.jar
  Application Classpath   = /usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/boot.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/org-openide-modules.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/org-openide-util.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/org-openide-util-lookup.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/boot_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/boot_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-modules_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-modules_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-util_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-util-lookup_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-util-lookup_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/lib/locale/org-openide-util_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/dt.jar:/usr/local/jetty/common/Java/jdk8/lib/tools.jar
  Startup Classpath       = /usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/core.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/org-openide-filesystems.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/locale/org-openide-filesystems_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/locale/core_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/locale/org-openide-filesystems_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/platform/core/locale/core_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/visualvm/core/com-sun-tools-visualvm-modules-startup.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_ja.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_zh_CN.jar:/usr/local/jetty/common/Java/jdk8/lib/visualvm/visualvm/core/locale/core_visualvm.jar
-----------------------------------------------------------

就 jdk8 和 home 等而言一切都很好,但是用户目录指向一些不存在的 java 路径,然后我在我的 linux 文件系统中跟踪它:

User Directory          = /root/.visualvm/7u60

为了解决问题;我删除了操作系统中的/root/.visualvm/7u60 目录。 再次运行./jvisualvm,它没有问题。

之前我尝试使用 ./jvisualvm--help 选项运行,其中看到了 jdkhome 并尝试更改 jdkhome 但没有运气。最后从操作系统中删除文件夹对我有用。

Wow! Great!! 

【讨论】:

以上是关于Java VisualVM (jvisualvm) 工具在启动时抛出警告“无法安装某些模块”的主要内容,如果未能解决你的问题,请参考以下文章

java性能监控器VisualVM

使用 VisualVM 进行 JAVA 远程分析

基于JVisualVM的可视化监控

JVisualVM 进行性能分析及调优

JVM性能监测工具——VisualVM

使用 visualvm 和 JMX 进行远程监控