java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

标签 java android linux ant ubuntu

我的 Ubuntu 10.04 i386 服务器( headless )上有一个名为 Hello 的 Android 项目。它包含 Android 项目文件夹应具有的所有内容。我首先在 bash 中使用此语法在 Project 文件夹中构建项目:

./android create project --target 5 --name HelloCompile --path ../../Projects/Hello --activity HelloActivity --package com.code.Hello

然后我尝试像这样用 ant 构建 .apk:

ant debug

我收到此错误:

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"

这让我很困惑,因为在我运行 ant debug 之前,我运行:

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

我知道这是可行的,因为 bash shell 中的 printenv 返回:

JAVA_HOME=/usr/lib/jvm/java-6-openjdk

为了复合,将此行添加到我的/etc/environment 文件中

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

也不能解决问题 - 我得到了同样的错误。我所做的没有改变 Ubunut 仍然认为 /usr/lib/jvm/java-6-openjdk/jre 是 JAVA_HOME 的事实。出了什么问题?我已经在这里待了太多小时了。

最佳答案

你安装了JDK吗?

当您安装 Ubuntu 时,只有 JRE 作为默认软件包的一部分安装。不幸的是,Ubuntu 的包管理器将该目录命名为 JRE 是与 JDK 一起安装的。即使 JDK 不存在,该目录也被命名为 java-6-openjdk

执行以下操作:

sudo apt-get install openjdk-6-jdk

它会将 JDK 安装在同一目录中。

关于java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736641/

相关文章:

java - 如何在 Android Studio 中找到方法或变量的使用位置(快捷方式)

java - 如何防止在 JavaFX 的 TableView 中选择另一行

Android:使用 Context.startService 与 PendingIntent.getService 启动服务

java - 你能用 Liquibase 初始化 Spring Batch 元数据表吗?

java - 密码屏蔽不会在需要时终止程序

android - Termux 中的 Amazon Web Services EC2 ssh 权限被拒绝(公钥)

android - 如何在canvas中记录用户的操作并在android中保存为视频文件?

linux - 仅通过特定路径获取唯一文件名

c++ - 如何使用 NASM 程序集读取和修改文件的字节,并使用 C++ 打开/关闭文件?

c++ - 如何确定我在无线网络中连接的接入点的延迟和数据包丢失?