gpt4 book ai didi

java - Ant 构建 - JAVA_HOME 变量未更新

转载 作者:行者123 更新时间:2023-12-01 09:59:55 27 4
gpt4 key购买 nike

我正在尝试运行 ant 构建来生成 jar,但出现以下错误:

Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64/lib/tools.jar
Buildfile: /my/path/to/the/required.xml

make:
[javac] /my/path/to/the/required..xml:11: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

BUILD FAILED
/my/path/to/the/required.xml:11: 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-1.8.0-openjdk- 1.8.0.91-0.b14.el7_2.x86_64/jre"

我的问题: 1.我在网上做了一些阅读,并得出结论,因为我将其指向 JRE 而不是 JDK,这就是它失败的原因。最初我是这么做的

导出 JAVA_HOME=readlink -f $(which java)

因此,我使用 which javac 命令的输出更新并导出了 JAVA_HOME 变量。有趣的是,错误的最后一部分没有显示更改后的 JAVA_HOME 值。这是为什么?

  • 这个includeantruntime是什么以及如何摆脱它?我用的是ant 1.9.2
  • 最佳答案

    您可能需要检查并更新 JAVA_HOME 设置的 ant 配置文件。 .bashrc 中为 shell 设置的 $JAVA_HOME 值可能会在文件/etc/ant.conf、$HOME/.ant/ant.conf 和 $HOME/.antrc 中被覆盖。如果您执行 bash -x ,它将打印调试信息,这应该可以帮助您跟踪 $JAVA_HOME 被覆盖的位置。

    关于java - Ant 构建 - JAVA_HOME 变量未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36892018/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com