尽管我在服务器中启用了Java,但我遇到了Java路径问题

时间:2020-06-05 17:42:13

标签: java gradle bamboo

我正在使用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中完成构建的时间

CLI BUILD IMAGE

请帮助我。谢谢

1 个答案:

答案 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。