如何将带有冒号的Windows文件名与Java 9统一日志一起使用?

如何将带有冒号的Windows文件名与Java 9统一日志一起使用?,java,windows,logging,java-9,Java,Windows,Logging,Java 9,显然,对于Java9(及更高版本)统一日志,冒号用作-Xlog参数中字段之间的分隔符。那么,如何指定包含冒号的Windows路径名呢?有什么逃跑的办法吗?如果按原样指定文件名,则会得到上面包含的错误。谢谢。解决此问题的建议方法之一是使用shell转义,如: % java11 -Xlog:gc*:file=c:\max.txt -version [0.002s][error][logging] Invalid decorator '\max.txt'. Invalid -Xlog option '

显然,对于Java9(及更高版本)统一日志,冒号用作
-Xlog
参数中字段之间的分隔符。那么,如何指定包含冒号的Windows路径名呢?有什么逃跑的办法吗?如果按原样指定文件名,则会得到上面包含的错误。谢谢。

解决此问题的建议方法之一是使用shell转义,如:

% 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.

请注意,根据Dave Holmes的帖子,只支持双引号。根据shell的不同,转义是必要的,以便Java命令看到引号。

尝试“c:/max.txt”获得相同的结果。问题出在冒号上。请尝试c\:/max.txt或c\\:/max.txt
java -Xlog:gc*:file=\"C:\max.txt\" -version