bal*_*teo 4 cloud-foundry buildpack
我需要 java 可执行文件来从cloudfoundry 任务命令运行 java -jar 。
这是我尝试运行任务的方法:
cf run-task bignibou-batch "java -jar bignibou-batch/build/libs/bignibou-batch.jar"
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误消息:
2016-12-24T12:53:30.002+01:00 [APP/TASK/358e02df/0] [ERR] bash: java: command not found
Run Code Online (Sandbox Code Playgroud)
我的清单使用 java buildpack 如下(见bignibou-batch底部的应用程序):
---
buildpack: https://github.com/cloudfoundry/java-buildpack.git
memory: 1024M
env:
APPLICATION_URL: http://bignibou-server.cfapps.io/
APPLICATION_MAIL_NO_REPLY_ADDRESS: balteo@bignibou-server.cfapps.io
SPRING_PROFILES_ACTIVE: cloud
applications:
- name: bignibou-server
path: bignibou-server/build/libs/bignibou-server.jar
env:
APPLICATION_GOOGLE_API_KEY: *******************
- name: bignibou-batch
path: bignibou-batch/build/libs/bignibou-batch.jar
no-hostname: true
no-route: true
env:
JAVA_OPTS: -Dspring.batch.job.names=messagesDigestMailingJob
Run Code Online (Sandbox Code Playgroud)
编辑:当我尝试按如下方式设置 java buildpack 的位置时:
cf run-task bignibou-batch "$PWD/.java-buildpack/open_jdk_jre/bin/java -jar bignibou-batch/build/libs/bignibou-batch.jar"
Run Code Online (Sandbox Code Playgroud)
在$PWD发送命令之前,变量在我的本地机器上解析......
通常,我们会考虑已安装 JRE 的位置,以及运行应用程序所需的命令,这是一个内部细节,可以在没有兼容性限制的情况下进行更改。据我所知(运行 Java Buildpack 团队近四年),两者都没有要求安装 Droplet 的合同义务/home/vcap,这就是我们$PWD在命令中非常小心地使用的原因。
其他基于 Java 的任务的早期用户已经允许完全进行分段(这将确保诸如内存计算之类的事情并JAVA_OPTS正确放置在命令中),然后无需修改即可使用该命令行。
您所看到的$PWD尽早解决的问题是逃避比其他任何事情都重要。您可能应该进行的第一个更改是从双引号 ( ")切换到单引号 ( '),这应确保$不会立即解决。有可能在管道中的其他地方,环境再次提前解决,可能需要\$逃跑,但我会推迟,直到你确定你看到了它。
| 归档时间: |
|
| 查看次数: |
2159 次 |
| 最近记录: |