您好我制作了一个实用程序来在启用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?
感谢。
答案 0 :(得分:1)
某些发现可能对其他人有用, 在我的机器中,hsperfdata_%USERNAME%未列出任何正在运行的jvm id,因为当前用户没有权限,因此我授予了获取正在运行的jvm列表的权限。 Reference
我在评论中发表的另一件事是jProfiler工具在计算机上做了一些更改。所以对这个的要求是一样的。它授予了该文件夹的权限。