Ant for Java 没有显示为已安装但实际上已安装

Ant for Java 没有显示为已安装但实际上已安装

今天我遇到了问题,它与在新电脑上运行 opencv.3.3.0 有关。我从来没有遇到过这个问题,但我前一天从使用 openjdk 切换到 oracle jdk,这似乎没问题,但我认为这就是导致问题的原因,不确定。无论如何,我试图让 进行opencv330.jar构建,但不是因为它说 ant 未安装,但我的电脑上有它。我安装了它sudo apt-get install ant并且成功了。我这样做which ant并得到了/usr/bin/ant。这就是我所期望的,但是当我尝试为 opencv 构建时,我运行此命令

~/opencv-3.3.0/build$ cmake -DBUILD_SHARED_LIBS=OFF ..

它打印了很多东西。我猜它是在寻找现有文件和不存在的文件以及其他东西,但后来我看到了这个

--   Java:
    --     ant:                         NO
    --     JNI:                         NO
    --     Java wrappers:               NO
    --     Java tests:                  NO

我确实安装了 ant,我不关心其余的,因为它们不需要满足我(不确定包装器和测试),但我希望它构建 opencv330.jar,但它不能没有ant“缺失”。我该如何解决这个问题,以便它知道它ant已安装在我的计算机上,然后它可以构建 jar?

以下是有关我的 Java 的一些信息:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/local/java/jdk1.8.0_51/bin/java
hagin@hagin-ThinkPad-T440p:~$ ^C
hagin@hagin-ThinkPad-T440p:~$ echo $JAVA_HOME
/usr/local/java/jdk1.8.0_51
hagin@hagin-ThinkPad-T440p:~$ which java
/usr/bin/java
hagin@hagin-ThinkPad-T440p:~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
hagin@hagin-ThinkPad-T440p:~$ 

答案1

如果您想使用 Oracle JAVA,您可以按照我想要安装时始终遵循的指南进行操作:

如何在 Debian 或 Ubuntu VPS 上手动安装 Oracle Java

如果您希望继续使用 OpenJDK,只需运行此命令:

sudo apt-get install --reinstall openjdk-8-jdk

之后,验证它是否$JAVA_HOME正常工作。输入printenv以查看它是否存在。

或者输入ls $JAVA_HOME,它将列出 java 安装文件夹。

要启用它:

  • 输入command -v java以记下 java 路径;
  • 编辑~/.bashrc文件并在末尾附加此行:

    export JAVA_HOME=<java path>

此外,还需要定义 ANT_HOME 才能使其工作。

您需要将export ANT_HOME=/usr/bin/ant(示例来自这个问题)附加到~/.bashrc

相关内容