java - 虽然我在服务器中启用了 Java,但我面临着 java 路径问题

标签 java gradle bamboo

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

CLI BUILD IMAGE

请帮我解决这个问题。谢谢

最佳答案

未在失败的构建代理上设置 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/

相关文章:

java - 从 Maven for Artifactory 本地下载 Artifact

java - Spring Boot 依赖错误 gradle

linux - spring-security-core 2.0.3 spring-aop 2.0.8 导致 NoSuchMethodError

java - hibernate 聚合

continuous-integration - Gradle发布系统任务-在子项目上调用uploadArchives

java - 无法解析的日期异常 :"2015-02-06T16:05:20"

asp.net-core - 如何让 GitVersion/UpdateAssemblyInfo 与 ASP.NET Core 2.0 项目一起使用

Bamboo Atlassian : How to share a variable between stages

java - 在 XPath 中,如何选择与子集不匹配的所有节点?

java - 将月份名称转换为日期范围