我正在使用Shell脚本使用Gradle生成战争文件,但出现以下错误。
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,尽管不能通过控制台在许多服务器中使用Java,但是当我从命令行触发构建时,它运行良好。
该构建在某些服务器上工作,可以根据需要提供输出:
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中完成构建的时间
请帮助我。谢谢
答案 0 :(得分:0)
未在失败的构建代理上设置JAVA_HOME或PATH。
如果我遇到您的情况,我首先会采取措施确保这些情况确实存在。
一种简单的方法是仅使用docker来“构建化”您的构建,例如:
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 Coret到openjdk的步骤中)或手动设置环境变量如果您确定目标计算机上存在Java。