列出JRE上的Java虚拟机

时间:2018-06-08 07:46:20

标签: java maven jvm classpath jvm-hotspot

您好我制作了一个实用程序来在启用JRE的机器上找到JVM,为此我接近此链接 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?

感谢。

1 个答案:

答案 0 :(得分:1)

某些发现可能对其他人有用, 在我的机器中,hsperfdata_%USERNAME%未列出任何正在运行的jvm id,因为当前用户没有权限,因此我授予了获取正在运行的jvm列表的权限。 Reference

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