JAVA_HOME 在 Cloud Foundry 部署中找不到
JAVA_HOME not found in Cloud Foundry deployment
我正在尝试使用 Pivotal 的 PCF Dev 进行 Cloud Foundry 开发。
我想设置我的简单的独立 jar 文件,它每秒只输出 hello。我推了它,除了开始之外,一切似乎都正常。
启动时出现以下日志错误:
2016-05-10T13:09:45.28+0200 [APP/0] ERR bash: JAVA_HOME: No such file or directory
我的manifest.yml
applications:
- name: cf-test
no-route: true
memory: 128M
instances: 1
path: /bin/test.jar
build: https://github.com/cloudfoundry/java-buildpack.git
对我来说,Java 似乎没有在 CF 环境中正确安装。但是如何调试呢?
真希望有人知道答案:)谢谢!
编辑: 我发现我必须设置 JAVA_HOME 的环境变量,但是设置什么?如何找到 Java 路径?
请参阅 health-check-type attribute
上的文档
Use the health-check-type
attribute to set the health_check_type
flag to either port
or none
. If you do not provide a health-check-type
attibute, it defaults to port
.
---
...
health-check-type: none
The command line option that overrides this attribute is -u
.
如果您的进程不像绑定到端口的 Web 应用程序,而只是打印一些日志的后台工作者,请使用 none
。
这是Cloud Foundry很不友好的一点,默认没有设置$JAVA_HOME。
这是我解决这个问题的方法。
使用 Dist Zip
容器将您的应用程序推送到 CF,这样您就可以依靠构建包本身找到 Java 路径。(
https://github.com/cloudfoundry/java-buildpack/blob/master/docs/container-dist_zip.md)
使用Cloud Foundry的Start Command
设置$JAVA_HOME,如:
JAVA_HOME=.java-buildpack/open_jdk_jre/bin/
java安装路径直接在构建包下。
/home/vcap/app/.java-buildpack
。你用命令行查看你的CF就可以找到。
我正在尝试使用 Pivotal 的 PCF Dev 进行 Cloud Foundry 开发。
我想设置我的简单的独立 jar 文件,它每秒只输出 hello。我推了它,除了开始之外,一切似乎都正常。
启动时出现以下日志错误:
2016-05-10T13:09:45.28+0200 [APP/0] ERR bash: JAVA_HOME: No such file or directory
我的manifest.yml
applications:
- name: cf-test
no-route: true
memory: 128M
instances: 1
path: /bin/test.jar
build: https://github.com/cloudfoundry/java-buildpack.git
对我来说,Java 似乎没有在 CF 环境中正确安装。但是如何调试呢?
真希望有人知道答案:)谢谢!
编辑: 我发现我必须设置 JAVA_HOME 的环境变量,但是设置什么?如何找到 Java 路径?
请参阅 health-check-type attribute
上的文档Use the
health-check-type
attribute to set thehealth_check_type
flag to eitherport
ornone
. If you do not provide ahealth-check-type
attibute, it defaults toport
.--- ... health-check-type: none
The command line option that overrides this attribute is
-u
.
如果您的进程不像绑定到端口的 Web 应用程序,而只是打印一些日志的后台工作者,请使用 none
。
这是Cloud Foundry很不友好的一点,默认没有设置$JAVA_HOME。
这是我解决这个问题的方法。
使用
Dist Zip
容器将您的应用程序推送到 CF,这样您就可以依靠构建包本身找到 Java 路径。( https://github.com/cloudfoundry/java-buildpack/blob/master/docs/container-dist_zip.md)使用Cloud Foundry的
Start Command
设置$JAVA_HOME,如:JAVA_HOME=.java-buildpack/open_jdk_jre/bin/
java安装路径直接在构建包下。
/home/vcap/app/.java-buildpack
。你用命令行查看你的CF就可以找到。