在pom.xml或manifest.yml中指定JDK的版本?

时间:2017-04-21 03:05:19

标签: java maven spring-boot cloudfoundry

我有一个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

谁能告诉我差异,我应该选择哪一个?

2 个答案:

答案 0 :(得分:0)

您需要为您的应用程序manifest.yml文件提供JRE版本。

java buildpack目前支持OpenJDKOracleAzul Zulu个JRE。假设您正在使用OpenJDK,那么构建包开箱即可支持JRE版本1.61.71.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 } }