lol*_*ter 44 java linux ant ubuntu android
我在我的Ubuntu 10.04 i386服务器(无头)上有一个名为Hello的Android项目.它包含Android项目文件夹应具有的所有内容.我首先在使用此synax的Project文件夹中使用bash构建项目:
./android create project --target 5 --name HelloCompile --path ../../Projects/Hello --activity HelloActivity --package com.code.Hello
Run Code Online (Sandbox Code Playgroud)
然后我尝试用蚂蚁这样构建.apk:
ant debug
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
BUILD FAILED
/home/myusername/www/sdk/tools/ant/main_rules.xml:384: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
Run Code Online (Sandbox Code Playgroud)
这对我来说非常困惑,因为就在我跑步之前ant debug我跑:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
Run Code Online (Sandbox Code Playgroud)
我知道有效,因为printenv在bash shell中返回:
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
Run Code Online (Sandbox Code Playgroud)
复合它,将此行添加到我的/ etc/environment文件中
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
Run Code Online (Sandbox Code Playgroud)
也没有解决问题 - 我得到了同样的错误.我所做的一切都没有改变Ubunut仍然认为/usr/lib/jvm/java-6-openjdk/jre是JAVA_HOME 的事实.出了什么问题?我已经在这里工作了太多时间.
Bri*_*ach 77
你安装了JDK吗?
安装Ubuntu时,只安装JRE作为默认软件包的一部分.不幸的是,Ubuntu的软件包管理将目录命名为JRE与JDK一起安装.java-6-openjdk即使JDK不存在,也会命名该目录.
请执行下列操作:
sudo apt-get install openjdk-6-jdk
Run Code Online (Sandbox Code Playgroud)
它将JDK安装在同一目录中.
Edw*_*uck 10
---注意到输出中的一个小项目后更新---
您可以将您的JAVA_HOME设置设置为Java运行时环境的正确位置,这样可以毫无疑问地允许您运行Java程序,但不能开发它们.
缩短你的JAVA_HOME时间/usr/lib/jvm/java-6-openjdk(注意删除尾随jre).之后,您的Ant包装器/编译器检测代码不会混淆,因为它将指向Java开发环境的主页,而不是嵌入的相关Java运行时环境.
提供嵌入式Java运行时环境以确保您可以仅针对核心(未包括的编译器工具)Java产品进行测试.
---原帖如下---
查找命令javac有一点做以JAVA_HOME超出javac一般在子目录下找到JAVA_HOME
您需要做的是修改PATH环境变量以包含Java可执行文件所在的目录.通常这样做是这样的
PATH=${PATH}:${JAVA_HOME}/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
但根据您的设置,可能会略有不同.如果你这样做
ls ${JAVA_HOME}/bin
Run Code Online (Sandbox Code Playgroud)
并且您看到一个javac可执行文件,那么路径变量的上述修改将无需任何更改就可以工作.
| 归档时间: |
|
| 查看次数: |
63375 次 |
| 最近记录: |