首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在云铸造上运行应用程序时无法找到文件

在云铸造上运行应用程序时无法找到文件
EN

Stack Overflow用户
提问于 2022-04-26 16:14:10
回答 1查看 137关注 0票数 0

在本地运行该应用程序时,它可以工作。但是,在我用maven构建了一个jar并将它推到云铸造厂之后,它无法通过本地绝对文件路径( krb5.keytab的路径)在我的application.yml文件中找到krb5.keytab文件。例如keytab: key: krb5.keytab文件: C:\Users\Documents\WorkSpace\MyProject\kafkatool\krb5.keytab

我需要如何更改krb5.keytab的文件路径,以便当它在云铸造厂上运行时,应用程序仍然可以找到keytab?

EN

回答 1

Stack Overflow用户

发布于 2022-04-27 12:59:02

当您的Java应用程序在CloudFoundry上运行时,它是在远程Linux容器中运行的。它无法访问您的本地文件系统,而且您引用的任何文件都必须位于Linux容器的文件系统中,因此没有c:\ Windows样式的路径能够工作。

在CF上运行应用程序时,您的应用程序位于/home/vcap/app目录中(在/app上也有一个符号链接,指向您可以使用的/home/vcap/app )。

此外,您的应用程序将在/home/vcap/app目录之外执行,因此当前的工作目录将是/home/vcap/app

因此,如果您需要引用文件,您可以相对于/home/vcap/app目录引用它们,或者可以在所有路径中加上/home/vcap/app前缀,并使用文件的完整路径。

如果您不喜欢将/home/vcap/app硬编码到应用程序中的想法,可以通过查看HOME环境变量动态地获取这个目录。当应用程序运行时,HOME env变量指向/home/vcap/app

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72017225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档