% java11 -Xlog:gc*:file=c:\max.txt -version
[0.002s][error][logging] Invalid decorator '\max.txt'.
Invalid -Xlog option '-Xlog:gc*:file=c:\max.txt', see error log for
details.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
显然,在Java 9(及更高版本)统一日志记录中,冒号用作
-Xlog
参数中字段之间的分隔符。因此,如何指定带有冒号的Windows路径名?是否有某种逃生?如果按原样指定文件名,则会收到上面包含的错误。谢谢你。 最佳答案
建议的解决on the mailing list的方法之一是使用shell转义,例如:
java -Xlog:gc*:file=\"C:\max.txt\" -version
请注意,根据Dave Holmes的帖子,仅支持双引号。根据 shell 的不同,转义是必需的,以便Java命令可以看到引号。