我使用Delivery Pipeline在Bluemix中设置了一个构建作业。不幸的是,由于IBM Java问题,我使用Mockito的一些单元测试失败了。 我从构建日志中获得的消息:
Early IBM virtual machine are known to have issues with Mockito, please upgrade to an up-to-date version.
Java : 1.8
JVM vendor name : IBM Corporation
JVM vendor version : 2.8
JVM name : IBM J9 VM
JVM version : pxa6480ifx-20150313_01 (IV70681 IV70681)
JVM info : JRE 1.8.0 Linux amd64-64 Compressed References 20150116_231420 (JIT enabled, AOT enabled)
J9VM - R28_Java8_GA_20150116_2030_B231420
JIT - tr.r14.java_20150109_82886.02
GC - R28_Java8_GA_20150116_2030_B231420_CMPRSS
J9CL - 20150116_231420
OS name : Linux
OS version : 4.4.0-77-generic
用于运行作业的脚本是:
# enable Java 8
export JAVA_HOME=$JAVA8_HOME
mvn install
在我的本地环境中,我使用IBM Java 8 SR4 FP5成功运行单元测试。
有没有办法为Bluemix DevOps使用不同版本的IBM Java 8? 在我的情况下,我需要升级它。
答案 0 :(得分:1)
支持更改使用的Java版本,但我不知道您要查找的版本是否可用。有关详细信息,请参阅:
https://console.bluemix.net/docs/runtimes/liberty/customizingJRE.html
答案 1 :(得分:1)
管道中包含的java版本将在接下来的两周内增加到8.0-4.6。在那之前,我会尝试https://stackoverflow.com/a/44654434/713646
编辑:更改已部署,应该可用。
答案 2 :(得分:0)
这里有一种非答案:你不需要在这里“切换”任何东西。
注意这一行:
J9VM - R28_Java8_GA_20150116_2030_B231420
此版本的IBM Java 严重过时。
没有人应该在过时的软件版本上运行任何工作负载。
所以,真正的回答:转向Bluemix支持并礼貌地告诉他们修复他们的产品。
含义:这种“平台服务”的用户不负责解决过时的软件版本。平台维护者有责任这样做。
换句话说:当然,您可能更容易找到解决此问题的方法;但你不应该这样做。使提供者履行其职责;而不是让他继续这种行为。