我的.bash_profile文件中有以下行
export ANT_OPTS='-Xmx1024m -Xms1024m -XX:MaxPermSize=1024m'
然而,当我在我的一个项目中运行ant时,它看起来并不像是在使用上面的参数。
这是我运行的命令
ant -f myfile.xml
这是我检查ant是否正在使用我在.bash_profile文件中添加的ANT_OPTS的方法
我捕获了正在运行的java进程,它正在使用-Xmx512m
答案 0 :(得分:1)
运行ANT_OPTS
命令时,您是否看到env
的条目?如果没有,则表示您的环境中未定义ANT_OPT
。您可能需要将ANT_OPTS放在.bashrc
文件中,而不是.profile
或.bash_profile
。
使用ant -d
,看看它是否正在接收$ANT_OPTS
。 ant
命令实际上是一个shell脚本。有时,我将set -xv
置于ant
脚本的顶部(暂时),以查看执行时发生了什么。看看这是否有助于你弄清楚发生了什么。
顺便说一句,ant
脚本在执行时会选择几个选项文件。在我的作品中,它会选择/etc/ant.conf
,$HOME/.ant/ant.conf
和$HOME/.antrc
。很可能你的$ANT_OPT
被这些脚本覆盖了。
答案 1 :(得分:0)
也许您需要将其放在bashrc
中,而不是bash_profile
:differences between them。
你需要确定它也是来源的。如果您更改了bashrc
,则在您打开新终端或运行命令之前,修改将不会显示:
$ source ~/.bashrc
另外,看看蚂蚁“可执行文件”。我不认为这是问题,但可能会有另一个-Xmx
传递给VM,或者ANT_OPTS
不受尊重。