使用JAVA_OPTS envvariables运行java

在一个shell脚本中,我已经设置了JAVA_OPTS环境variables(启用远程debugging和增加内存),然后执行jar文件,如下所示:

export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m" java -jar analyse.jar $* 

但似乎没有任何效果的JAVA_OPTS envvariables,因为我无法连接到远程debugging,我看不出JVM的内存的变化。

可能是什么问题呢?

PS:我不能在java -jar analyse.jar $*命令中使用这些设置,因为我在应用程序中处理命令行参数。

我不知道任何实际上检查JAVA_OPTS环境variables的JVM。 通常这在启动JVM的脚本中使用,通常只是将它添加到java命令行中。

这里要理解的关键是,在-jar analyse.jar之前java参数只会影响JVM, 不会传递给您的程序。 所以,修改脚本中的java行来:

 java $JAVA_OPTS -jar analyse.jar $* 

应该“只是工作”。

你可以设置_JAVA_OPTIONS而不是JAVA_OPTS 。 这应该没有$_JAVA_OPTIONS