有没有办法启动Oracle的Java.exe并让它从Windows上的文本文件中获取命令行选项?
我希望能做的是这样的事情:
java.exe -optionsFile=myOptionsFile.txt MyClass
其中'myOptionsFile.txt'包含标准Java VM选项列表,例如“-classpath =”我很长的类路径“和”-Dthis = that“等等。
运行Java.exe时必须存在所有选项,因为它是名为VMMap的内存调试工具的目标。 VMMap允许您启动.exe并附加到它以调试本机堆问题。在这种情况下,我无法在运行时生成命令行args或让其他进程为我启动java.exe。
答案 0 :(得分:0)
您可以使用xargs
。
给定一个文件arguments.in
,其中包含以下内容:
~/dev/code$ more arguments.in
-version
像这样调用:
~/dev/code$ cat arguments.in | xargs $JAVA_HOME/bin/java
生成此输出(即,与调用java -version
时相同的输出):
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
注意:这假设您使用的是* nix操作系统或使用Cygwin(或模拟器模拟器,如GOW)。
答案 1 :(得分:0)
简单方法: -
yourclassName=JavaClassName
java `cat myOptionsFile.txt` $yourclassName
在Windows中,这应该可以正常工作。
set /p VAR=<myOptionsFile.txt
java.exe %VAR% yourclassName