Предоставляет ли Bluemix DevOps другую версию IBM Java 8?
Я настроил задание на сборку в Bluemix с помощью Delivery Pipeline. К сожалению, некоторые из моих модульных тестов, использующих Mockito, потерпели неудачу из-за проблемы IBM Java. Сообщение, которое я получаю из журнала сборки:
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 для успешного выполнения модульного тестирования.
Есть ли способ использовать другую версию IBM Java 8 для Bluemix DevOps? В моем случае мне нужно обновить его.
3 ответа
Существует поддержка изменения используемой версии Java, но я не знаю, доступна ли версия, которую вы ищете, или нет. Для получения дополнительной информации см.:
https://console.bluemix.net/docs/runtimes/liberty/customizingJRE.html
Версия java, включенная в конвейер, увеличится до 8.0-4.6 через несколько недель. До этого я бы попробовал /questions/8475529/predostavlyaet-li-bluemix-devops-druguyu-versiyu-ibm-java-8/8475543#8475543
РЕДАКТИРОВАТЬ: изменение было развернуто и должно быть доступно.
Это своего рода не ответ здесь: вам не нужно ничего "переключать" здесь.
Обратите внимание на эту строку:
J9VM - R28_Java8_GA_20150116_2030_B231420
Эта версия IBM Java серьезно устарела.
Никто не должен выполнять какую-либо нагрузку на устаревшие версии программного обеспечения.
Итак, настоящий ответ здесь: обратитесь в службу поддержки Bluemix и вежливо попросите их исправить свой продукт.
Значение: пользователь такой "платформы сервис" не несет ответственности за обход устаревших версий программного обеспечения. Это обязанность сопровождающего платформы сделать это.
Другими словами: конечно, вам может быть проще найти обходной путь для этой проблемы; но ты не должен этого делать. Заставить поставщика выполнять свои обязанности; вместо того, чтобы позволить ему продолжать такое поведение.