我正在使用 shell 脚本使用 Gradle 生成 war 文件,但收到以下错误。
ls
cd ClaimCenter1003
javac -version
chmod 777 gwb.sh
./gwb.sh warTomcatDbcp
05-Jun-2020 13:22:54 ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
05-Jun-2020 13:22:54
05-Jun-2020 13:22:54 Please set the JAVA_HOME variable in your environment to match the
05-Jun-2020 13:22:54 location of your Java installation.
Java在所有bamboo服务器中设置,虽然不能通过控制台在许多服务器中工作,但当我从命令行触发构建时,它工作正常。
构建正在某些服务器上运行,并根据需要提供输出:
javac 1.8.0_161
build 05-Jun-2020 13:18:01 Downloading file:/opt/bamboo-agent-home/xml-data/build-dir/GUID-GCCA-VAR/ClaimCenter1003/gradle/wrapper/./gradle.zip
build 05-Jun-2020 13:18:02 .................................................................................
build 05-Jun-2020 13:18:04
build 05-Jun-2020 13:18:04 Welcome to Gradle 5.1.1!
build 05-Jun-2020 13:18:04
build 05-Jun-2020 13:18:04 Here are the highlights of this release:
build 05-Jun-2020 13:18:04 - Control which dependencies can be retrieved from which repositories
build 05-Jun-2020 13:18:04 - Production-ready configuration avoidance APIs
在 CLI 中进行构建的时间
请帮我解决这个问题。谢谢
最佳答案
未在失败的构建代理上设置 JAVA_HOME 或 PATH。
如果我处于您的情况,我主要会采取措施确保这些措施的存在。
一个简单的方法是通过简单地使用 docker 来“dockerize”你的构建,例如:
docker run openjdk:{JDK_VERSION} bash `./buildscript.sh`
.
另一种方法是在开始实际的构建步骤之前确保 java 已正确安装在构建代理上。问题在于,您的构建代理实例似乎被其他构建重复使用,因此即使这有效,也可能会导致下游的其他错误,因此我建议通过 docker 虚拟化您的构建。
我会检查 $JAVA 和 $JAVA_HOME 是否正确设置,如果没有,则显式安装 java(例如 https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/generic-linux-install.html 安装 amazon coretto openjdk 的步骤)或手动设置环境变量(如果您确保目标计算机上存在 java。
关于java - 虽然我在服务器中启用了 Java,但我面临着 java 路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62221255/