在 JRE 上列出 Java 个虚拟机

List Java Virtual Machine on JRE

你好,我制作了一个实用程序来在启用 JRE 的机器上查找 JVM,为此我采用了这个 link List JVM on localhost 但是当我在启用 jre 的机器上编译这个程序时它没有列出任何东西。

经过一些 RnD 之后,我在我的 pom.xml

上添加了 tools.jar 和 jconsole.jar
<dependencies>
<dependency>
    <groupId>java.tools</groupId>
    <artifactId>javatools</artifactId>
    <version>1.0</version>
</dependency>


<dependency>
    <groupId>java.jconsole</groupId>
    <artifactId>jconsole</artifactId>
    <version>1.0</version>
</dependency>

<build>
<plugins>
    <plugin>
        <groupId>java.tools</groupId>
        <artifactId>javatools</artifactId>
        <version>1.0</version>
        <configuration>
            <downloadSources>false</downloadSources>
            <downloadJavadocs>false</downloadJavadocs>
        </configuration>
    </plugin>

    <plugin>
        <groupId>java.jconsole</groupId>
        <artifactId>jconsole</artifactId>
        <version>1.0</version>
        <configuration>
            <downloadSources>false</downloadSources>
            <downloadJavadocs>false</downloadJavadocs>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
            <!-- get all project dependencies -->
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <!-- MainClass in mainfest make a executable jar -->
            <archive>
                <manifestEntries>
                    <Built-By>Ni3</Built-By>
                    <Class-Path>.</Class-Path>
                </manifestEntries>

                <manifest>
                    <mainClass>com.experiment.java.JVMFinder</mainClass>
                    <addClasspath>true</addClasspath>
                </manifest>

            </archive>

        </configuration>
        <executions>
            <execution>
                <id>make-assembly</id>
                <!-- bind to the packaging phase -->
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

</plugins>

我哪里错了。是否可以在启用 JRE 的机器上列出 jvm?

谢谢。

一些发现可能对其他人有用, 在我的机器中 hsperfdata_%USERNAME% 没有列出任何 运行 jvm id 因为没有当前用户的权限所以我允许获取 运行 jvm 列表。 Reference

我在评论中发布的另一件事是 jProfiler 工具在我的计算机上做了一些更改。所以对此的回答是一样的。它授予了该文件夹的权限。