我的.bash_profile文件中有下面这一行
export ANT_OPTS='-Xmx1024m -Xms1024m -XX:MaxPermSize=1024m'然而,当我在我的一个项目中运行ant时,它看起来并没有使用上面的参数。
这是我运行的命令
ant -f myfile.xml这就是我检查ant是否正在使用我在.bash_profile文件中添加的ANT_OPTS的方法
我捕获了正在运行的java进程,它正在使用-Xmx512m。
发布于 2013-09-11 08:34:39
运行env命令时,您是否看到ANT_OPTS条目?如果没有,则说明您的环境中没有定义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正被这些脚本覆盖。
发布于 2013-09-11 03:58:15
也许你需要把它放在bashrc中,而不是bash_profile:differences between them中。
你需要确保它也是来源的。如果您更改了bashrc,则在打开新终端或运行以下命令之前,将不会显示修改:
$ source ~/.bashrc另外,看一下ant的“可执行文件”。我不认为这是问题所在,但可能会有另一个-Xmx传递给VM,或者ANT_OPTS不被尊重。
https://stackoverflow.com/questions/18726934
复制相似问题