Ant公然忽略JAVA_HOME环境变量

我刚拿起最新版本的Android SDK并开始尝试使用它.不像其他几乎所有人都提出这个问题,我正在运行Linux,即Linux Mint 13.我正在尝试使用ant编译Hello World程序,通过安装

sudo apt-get install ant

并在项目文件夹中运行:

ant debug

但是,它完全无法编译,最终吐出与设置JAVA_HOME有关的错误.我相应地修改了〜/ .bashrc文件并重新启动,但我仍然得到错误

Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-7-openjdk-amd64/jre"

Total time: 1 second
jamie@jamie-ThinkPad-E525 ~/Downloads/adt-bundle-linux/sdk/tools/projects/new $echo $JAVA_HOME
/usr/java/jdk1.7.0_05/

正如你所看到的,它正在通过牙齿说谎.

我发现了很多关于这个问题的引用,但是大多数人都错误地设置了它们的JAVA_HOME,或者将它设置为JRE.显然,我没有做过.

我还修改了我的项目文件夹的ant.properties文件,添加了该行

java.home =的/ usr /爪哇/ jdk1.7.0_05 /

无济于事.

有没有其他人经历/解决这个问题,或有任何想法?谢谢.

解决方法:

蚂蚁说实话的可能性很大,而环境变量没有设定.可能性是:

>您将错误的语句放入“.bashrc”文件中,或者
>你没有正确重启.

无论如何,您可以通过在shell中运行export来验证这一点,然后再运行ant命令…并查看是否列出了JAVA_HOME变量.

提示

1)这是错的:

JAVA_HOME=/usr/java/jdk1.7.0_05/

这只会创建一个本地shell变量,并且本地shell变量不会传递给子进程(如ant命令).它应该是:

export JAVA_HOME=/usr/java/jdk1.7.0_05/

2)尝试运行:

export JAVA_HOME=/usr/java/jdk1.7.0_05/
ant

3)将java.home = /usr/java / jdk1.7.0_05 /添加到ant.properties将无济于事. Ant期望在环境变量中进行设置.

4)计算机程序不撒谎.当他们看到时,他们说实话.或者更准确地说,除非代理人有意图,否则撒谎和说实话的整个概念都是毫无意义的.但重点是,如果你开始怀疑试图欺骗你的计算机程序,你将很难调试事情.

(好吧,你是在开玩笑.但许多人面临故障排除问题采取类似的非生产性方法;例如,假设每个棘手的Java问题都证明编译器/语言/运行时已经破坏.IMO – 值得提醒人们这种思考可能非常无益……)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...