Java 无法通过.bat文件设置jvm参数/参数(Xmx和Xms)

Java 无法通过.bat文件设置jvm参数/参数(Xmx和Xms),java,batch-file,jvm,comma,Java,Batch File,Jvm,Comma,通过将VM参数设置为-Xmx1024m,我能够通过eclipse运行java程序 -Xms256M。现在我想通过windows中的.bat文件运行相同的java程序(jar)。我在文件中设置JVM值,如下所示 @echo off set JAVA_OPTS="-Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError" java -cp TA.jar com.myClass 但当我通过批处理(.bat)运行同一个程序时,它抛出内存不足错误,我怀疑通过.

通过将VM参数设置为-Xmx1024m,我能够通过eclipse运行java程序 -Xms256M。现在我想通过windows中的.bat文件运行相同的java程序(jar)。我在文件中设置JVM值,如下所示

@echo off
set JAVA_OPTS="-Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError"
java -cp TA.jar com.myClass
但当我通过批处理(.bat)运行同一个程序时,它抛出内存不足错误,我怀疑通过.bat文件的JVM设置不起作用


有人能帮忙吗?

应该是JAVA选项而不是JAVA选项。

直接使用参数

java -Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError -cp TA.jar com.myClass
您不需要将它们设置为
JAVA\u选项
。要确保应用程序正在使用所需的参数,请执行以下操作:

  • 打开java附带的
    jvisualvm
    。只要在命令行中键入“jvisualvm”,就可以了,前提是您已经在路径上正确地设置了java
  • 打开应用程序启动的vm
  • 在“”选项卡的“JVM参数”下进行检查

应该设置jvm选项。

您是否尝试过简单地传递选项而不是设置环境变量?@Michael Myers我不太明白您的意思。。抱歉..我的意思是
java-Xmx1024m-Xms256m-XX:+heapdumponootfmemoryerror-cp TA.jar com.myClass
而不是与java混淆\u opts可能的重复@MichaelMyers:当我尝试显示错误时-无法找到或加载主类Xmx1024mThanks Danyel。。它起作用了。。我使用了:set _JAVA_OPTIONS=-Xmx1024m-Xms256m-XX:+heapdumponoutofmemoryError这应该是真正的答案我必须从命令提示符传递一些输入参数作为参数。所以实际上,我的bat文件是java-cpta.jar com.myClass%1%2。在这种情况下,我应该根据您的方法将JVM参数放置在何处。您可以在-cp之前设置它。编辑答案。