1

我的 .bash_profile 文件中有以下行

export ANT_OPTS='-Xmx1024m -Xms1024m -XX:MaxPermSize=1024m'

但是,当我在我的一个项目中运行 ant 时,它看起来并没有使用上述参数。

这是我运行的命令

ant -f myfile.xml

这就是我检查 ant 是否使用我在 .bash_profile 文件中添加的 ANT_OPTS 的方式

我捕获了正在运行的 java 进程,它正在使用 -Xmx512m

4

2 回答 2

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被这些脚本覆盖了。

于 2013-09-11T00:34:38.930 回答
0

也许您需要将其放入bashrc,而不是放入bash_profile:它们之间的差异

你需要确保它也有来源。如果您更改了bashrc,则在打开新终端或运行命令之前不会显示修改:

$ source ~/.bashrc

另外,看看蚂蚁的“可执行文件”。我不认为这是问题所在,但可以有另一个-Xmx传递给 VM,或者ANT_OPTS不被尊重。

于 2013-09-10T19:58:15.177 回答