Linux

為什麼我在執行 ant(在 RHEL 6.6 上)時看到“無法找到 tools.jar。預計會在 …. 中找到它”,即使路徑已設置

  • March 20, 2017

我在其中創建了一個腳本/etc/profile.d並將其命名為jdk_home.sh。內容jdk_home.sh如下:

#!/bin/sh
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export PATH=$JAVA_HOME/bin:$PATH 

(我在 Stack Overflow 上按照這個問題的答案設置了 $JAVA_HOME)。

然後我source /etc/profile.d/jdk_home.sh在命令行上輸入。之後,我輸入echo $JAVA_HOME了它,它給了我以下輸出:

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64

輸入後,echo $PATH我得到了這個輸出:

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64/bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64/bin:/bin:/bin:/bin:/bin:/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.x86_64/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121/bin:/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/bin:/usr/apache/apache-ant-1.9.9/bin:/bin:/bin:/bin:/bin:/bin:/bin

然後我在我命名的項目文件夾中打開了另一個終端dal。我放在build.xml那個文件夾裡。我build.xml的內容如下:

<project name="Hello World Project" default="info">
<target name="info">
<echo>Hello World - Welcome to Apache Ant!</echo>
</target>
</project>

我在命令行中輸入了 ant :

[root@gksrv dal]# ant

這產生了以下輸出:

Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.x86_64/lib/tools.jar
Buildfile: /root/Desktop/dal/build.xml

info:
    [echo] Hello World - Welcome to Apache Ant!

BUILD SUCCESSFUL
Total time: 0 seconds

為什麼我會看到tools.jar警告?路徑不包含所需的資訊嗎?

後來我發現它tools.jar不在jdk目錄中。我執行了命令yum install java-1.8.0-openjdk-devellib/tools.jar在 java 文件夾中可用。在此之後執行ant命令時,我沒有收到相同的警告。

引用自:https://unix.stackexchange.com/questions/352466