我有一个java应用程序,我想将它部署到云代工厂。我想指定它的JDK版本。我搜索了一些文章,但我很困惑在哪里做。
在一些文章中,它说我需要使用java-buildpack并在manifest.yml或cf命令中指定环境。例如How can I change the version of Java used in Bluemix?
但是其他人说我可以使用-source和-target属性在pom.xml中指定JDK版本。例如http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
谁能告诉我差异,我应该选择哪一个?
答案 0 :(得分:0)
您需要为您的应用程序manifest.yml
文件提供JRE版本。
java buildpack目前支持OpenJDK,Oracle或Azul Zulu个JRE。假设您正在使用OpenJDK,那么构建包开箱即可支持JRE版本1.6
,1.7
和1.8
。
要设置JRE版本,只需在应用程序清单中指定一个环境变量,如下所示:
---
applications:
- name: my-java-app
memory: 512M
env:
JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 1.8.0_+ } }'
java buildpack不会查看pom.xml
文件。它假定您部署了应用程序的编译版本(例如JAR或WAR文件。)
答案 1 :(得分:0)
由于本文中的一些评论,我能够通过PCF CLI使用此命令在pcf中设置目标jdk
$ cf set-env <app-name> JBP_CONFIG_OPEN_JDK_JRE '{ jre: { version: 11.0.6_10 } }