竹子在CentOS 7上的Maven任务中出现JAVA_HOME应该指向JDK而不是JRE的错误。

3

我在CentOS 7上运行Bamboo。 我的JAVA_HOME/bin/javajava 命令是引用同一件事情,而且已经正确设置:

~$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre
~$ 

我还在.bash_profile中设置了我的JAVA_HOME变量。我也把它放在了<bamboo安装目录>/bin/setenv.sh里。但是,在Bamboo中,我的Maven任务失败,并出现以下错误:

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

我不知道如何调试这个问题,也不知道该如何提供更多的信息。当我通过ssh登录到安装了Bamboo的服务器时,我可以正常运行mvn命令,没有任何问题。

2
不要和工具争论 :-p - 你的JAVA_HOME确实设置为JRE(请注意路径中的尾随/jre)。删除该尾随位,然后您将设置为JDK - 然后Maven任务将正常工作。 - moilejter
忘了提到,我已经使用相同的JAVA_HOME在Bamboo上运行了大约2年。直到最近我们迁移到了一个新的服务器,然后出现了这个问题。 - Hasan Can Saral
2个回答

1
因此,问题不在于您如何为Bamboo设置JAVA_HOME变量,而是关于Bamboo如何设置其java可执行文件的JAVA_HOME变量。它保存在数据库中。这是在我更新Java并删除旧版本之前的值,我已经从Bamboo管理> JDKs更改为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre,问题已经解决。

1
太好了!花了几个小时检查环境变量和属性文件,终于搞定了。谢谢! - iAmLearning
3
不是很清楚的答案。更改哪里?在Bamboo服务器上?在终端中?在GUI中?试图理解你做了什么。 - DimiDak
如果有人卡在这里 - 就像我一样...我的问题是由于不匹配的Java版本引起的,这导致了JAVA_HOME变量的翻转。为了解决这个问题,在Bamboo计划的任务配置部分中添加了一个手动的“环境变量”,明确设置了该变量,然后它就可以工作了! - Rafe

1
问题可能不在代理配置中,而在于计划。
前往“配置计划”->“阶段”->“默认工作”,然后在任务本身中编辑环境变量,例如JAVA_HOME="/usr/lib/jvm/java-11-openjdk-11.0.14.0.9-1.el7_9.x86_64"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接