Max*_*nce 10 playframework playframework-2.0 cloudbees
我们在Cloudbees上运行Play2应用程序,然后从'/ conf'目录(在应用程序的类路径内)加载一个文件.
这两个片段在本地和heroku工作
Play.application().getFile("conf/myfile.json")
Run Code Online (Sandbox Code Playgroud)
和
new File("conf/myfile.json")
Run Code Online (Sandbox Code Playgroud)
java.io.FileNotFoundException: /var/genapp/apps/..../conf/myfile.json (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
那么如何在Cloudbees上从classpath加载文件?
Max*_*nce 13
好吧,'/ conf'中的文件位于类路径中而不是文件系统中,因此我们需要以这种方式加载文件:
Play.application.resourceAsStream("myfile.json")
//.resource() also works - depends what we want
Run Code Online (Sandbox Code Playgroud)
请注意,我们不在路径中放置"conf" - 其中的文件位于根目录中的类路径中.
请注意,在制作中它来自jar/zip,而不是文件 - 所以getFile在游戏中有些误导.
来自Cloudbees的Michael Neale开启了这个问题:https://github.com/playframework/Play20/issues/1079
Cloudbees文档已更新:https://wiki.cloudbees.com/bin/view/RUN/Playframework#HLoadingconfigfilesinproduction
| 归档时间: |
|
| 查看次数: |
7352 次 |
| 最近记录: |