可以在java选项文件中使用环境变量吗?

可以在java选项文件中使用环境变量吗?,java,jvm,jvm-arguments,Java,Jvm,Jvm Arguments,指定Java选项和系统属性可以指定Java™ 通过使用“选项”命令行上的选项和系统属性 文件,或使用环境变量。 ... 2.通过创建包含选项的文件,并在命令行上使用-Xoptionsfile=file指定它 我在选项文件中指定了以下选项: -Xdump:what -Xdump:java:none -Xdump:heap:none -Xdump:system:none -Xdump:snap:none -Xdump:java:events=user,range=1..2,file=$TRACED

指定Java选项和系统属性可以指定Java™ 通过使用“选项”命令行上的选项和系统属性 文件,或使用环境变量。 ... 2.通过创建包含选项的文件,并在命令行上使用-Xoptionsfile=file指定它

我在选项文件中指定了以下选项:

-Xdump:what
-Xdump:java:none
-Xdump:heap:none
-Xdump:system:none
-Xdump:snap:none
-Xdump:java:events=user,range=1..2,file=$TRACEDIR/javacore.%Y%m%d.%H%M%S.%pid.%seq.txt
-Xdump:heap:events=user,range=1..2,file=$TRACEDIR/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd
但是JVM不计算环境变量$TRACEDIR。 若我不使用选项文件,而只是将这些选项添加到命令行中,那个么JVM将评估环境变量。 有什么区别

答复:
如果在命令行中使用环境变量,则命令行预处理器将对其进行求值。不是JVM

它并没有说您可以在选项文件中使用环境变量。请再读一遍,我怀疑Java是否会解析属性文件中的环境变量,但我也会尝试一下大括号,以确保:-Xdump:Java:events=user,range=1..2,file=${TRACEDIR}/javacore.%Y%m%d.%H%m%S.%pid.%seq.txt:-我已经得到了这个问题的答案-如果您在命令行中使用环境变量,命令行预处理器将对它们进行评估。不完全是。正如我所说,你的期望是错误的。