在云铸造厂上运行时无法找到文件



在本地运行应用程序时,它可以工作。但是,当我用maven构建了一个jar并将其推送到cloud foundry后,它找不到krb5。Keytab文件通过本地绝对文件路径krb5。在我的应用程序中设置Keytab的路径。yml文件。如keytab:关键:krb5.keytab文件:C:UsersDocumentsWorkSpaceMyProjectkafkatool krb5.keytab

如何修改krb5的文件路径?Keytab所以当它运行在云铸造厂的应用程序仍然可以找到Keytab ?

当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环境变量动态获取该目录。当应用程序运行时,HOMEenv变量指向/home/vcap/app

相关内容

  • 没有找到相关文章

最新更新