我将通过Eclipse外部工具作为ant目标调用我的java代码。
我想使用JMC (任务控制)监视JVM,因此使用参数启动Eclipse外部工具:
"-XX:+UnlockCommercialFeatures -XX:+FlightRecorder"。
但是,当我运行它时,日志文件中的第一个错误是:
"Unknown argument: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder"
另外,当我在这个进程上运行飞行记录器时,它会报错:
"Flight Recorder features are not enabled. To enable this you need to use a Java 7u4 or later JVM started with -XX:+UnlockCommercialFeatures -XX:+FlightRecorder."
看起来我没有在eclipse中正确的位置设置参数。
在回答后编辑:如果我从命令行调用Java,它看起来很好,但当我从eclipse外部工具调用时,这就是问题所在。附加的屏幕截图。Eclipse External Tools invoked with JVM args for JMC
发布于 2018-04-03 16:00:45
您可能正在使用非HotSpot JVM运行,或者是JDK7u4之前的版本,这可能是错误的。
我复制了上面的命令行参数,并使用1.7.0_60在我的机器上运行它,输出如下:
C:\JVMs\jdk1.7.0_60\bin>java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b33)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
C:\JVMs\jdk1.7.0_60\bin>发布于 2018-04-18 17:20:29
如果您想要对您的ant构建进行飞行记录,请将"-XX:+UnlockCommercialFeatures -XX:+FlightRecorder“标志移动到JRE选项卡中,并将它们放在VM参数字段中而不带引号。
https://stackoverflow.com/questions/49618772
复制相似问题