我正在尝试在eclipse中打印测试程序的GC详细信息。我想仅为我的程序设置它,所以我去运行>运行配置并在VM参数中给出了这个:
-Xms1024M -Xmx1024M –XX:+PrintGCDetails –XX:+PrintGCTimeStamps
然而,当我这样做并运行我的程序时,我收到以下错误:
java.lang.NoClassDefFoundError: –XX:+PrintGCDetails
Caused by: java.lang.ClassNotFoundException: –XX:+PrintGCDetails
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
在传递论据时我做错了什么。
答案 0 :(得分:10)
应该提示你的是错误消息NoClassDefFoundError: –XX:+PrintGCDetails
- JVM没有尝试将其解析为一个选项而是一个类...
然后,查看-Xms1024M
和–XX:+PrintGCDetails
/ –XX:+PrintGCTimeStamps
之前的短划线 - 它们是不同的!
用前者替换后者(即“真实的”破折号/减号),你就可以了。
干杯,