Qua*_*lia 3 java ant bash android environment-variables
我刚拿起最新版本的Android SDK并开始尝试使用它.不像其他几乎所有人都提出这个问题,我正在运行Linux,即Linux Mint 13.我正在尝试使用ant编译Hello World程序,通过安装
sudo apt-get install ant
Run Code Online (Sandbox Code Playgroud)
并在项目文件夹中运行:
ant debug
Run Code Online (Sandbox Code Playgroud)
然而,它完全无法编译,最终吐出与设置有关的错误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/
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它正在通过牙齿说谎.
我发现了很多关于这个问题的引用,但是大多数人都没有错误地设置它们的JAVA_HOME,或者将它设置为JRE.显然,我没有做过.
我还修改了我的项目文件夹的ant.properties文件,添加了该行
java.home=/usr/java/jdk1.7.0_05/
无济于事.
有没有其他人经历/解决这个问题,或有任何想法?谢谢.
很可能ant是说实话,而环境变量没有设定.可能性是:
无论如何,您可以通过export在shell中运行来运行ant命令来验证这一点...并查看是否JAVA_HOME列出了变量.
提示:
1)这是错的:
JAVA_HOME=/usr/java/jdk1.7.0_05/
Run Code Online (Sandbox Code Playgroud)
这只会创建一个本地shell变量,并且本地shell变量不会传递给子进程(就像ant命令一样).它应该是:
export JAVA_HOME=/usr/java/jdk1.7.0_05/
Run Code Online (Sandbox Code Playgroud)
2)尝试运行:
export JAVA_HOME=/usr/java/jdk1.7.0_05/
ant
Run Code Online (Sandbox Code Playgroud)
3)添加java.home=/usr/java/jdk1.7.0_05/到ant.properties将无济于事.Ant期望在环境变量中进行设置.
4)计算机程序不骗人.当他们看到时,他们说实话.或者更准确地说,除非代理人有意图,否则撒谎和说实话的整个概念都是毫无意义的.但重点是,如果你开始怀疑试图欺骗你的计算机程序,你将很难调试事情.
(好吧,你是在开玩笑.但许多人面临故障排除问题采取类似的非生产性方法;例如,假设每个棘手的Java问题都证明编译器/语言/运行时已经破坏.IMO - 值得提醒人们这种思考可能非常无益......)
| 归档时间: |
|
| 查看次数: |
4567 次 |
| 最近记录: |