2010-01-06 72 views
38

在shell腳本運行的Java,我已經設置JAVA_OPTS環境變量(以啓用遠程調試和增加內存),然後我執行的jar文件,如下所示:與JAVA_OPTS環境變量

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

但似乎沒有JAVA_OPTS env變量的影響,因爲我無法連接到遠程調試,並且我發現JVM的內存沒有變化。

可能是什麼問題?

PS:我不能在java -jar analyse.jar $*命令中使用這些設置,因爲我在應用程序中處理命令行參數。

回答

39

我不知道任何實際檢查JAVA_OPTS環境變量的JVM。通常這用於啓動JVM的腳本中,並且通常只將它添加到java命令行中。

最關鍵的事情要理解此處是參數java而來-jar analyse.jar位只會影響JVM和不會沿着你的程序中。因此,修改java線在你的腳本:

java $JAVA_OPTS -jar analyse.jar $* 

應該「只是工作」。

+0

查看HEX的回答。這就是你如何在OS X上使用環境變量設置選項。 – BitwiseMan 2012-12-12 22:33:38

72

您可以設置_JAVA_OPTIONS而不是JAVA_OPTS。這應該沒有$_JAVA_OPTIONS

+6

_This_這是真正的答案。我四處尋找幾個小時才能找到它。 – BitwiseMan 2012-12-12 22:34:40

+0

我在Windows XP上試過這個。沒有工作.. :( – Nerrve 2013-01-14 12:10:56

+3

@Nerrve特別爲你安裝了Windows XP,工作正常。你確定你做的一切正確嗎? – HEX 2013-01-16 10:02:40