如何在 Play Framework 2.0 中使用相对路径访问资源文件?

Posted

技术标签:

【中文标题】如何在 Play Framework 2.0 中使用相对路径访问资源文件?【英文标题】:How do I access a resource file using a relative path in Play Framework 2.0? 【发布时间】:2012-09-25 16:20:42 【问题描述】:

如何访问相对于 Play 应用程序路径的资源文件(即使打包到分发 zip 中)?

这与this 的问题相同,但在 Play 2 中,其 api 中没有 VirtualFile 类。

谢谢。

【问题讨论】:

【参考方案1】:

查看play.api.Play.getFile()play.api.Play.getExistingFile(),它们从相对于应用程序目录的文件系统中获取文件。

对我有用的类似技术是简单地将资源目录(或 jar)添加到播放开始脚本中的类路径。然后我可以使用 Play.getResourceAsStream() 从该目录加载文件,或者在启动脚本中将资源指定为 JVM 参数(例如-Dconfig.resource=/my_conf/prd.conf

【讨论】:

是否可以通过val f = java.io.File("../../test/A.xml") 找到文件?如果没有活跃的application,那你怎么办? 链接到 scaladoc:playframework.com/documentation/2.3.6/api/scala/…

以上是关于如何在 Play Framework 2.0 中使用相对路径访问资源文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Play Framework 2.0 下载文件

Play Framework 2.0 中公共字段的使用

Play framework 2.2.0 打印最终解决的依赖列表

Play Framework - 使用参数重定向

Play framework 2.0 尝试级联删除时出错“参数“#1”未设置;SQL语句:delete”

如何在 Play 2.6 控制器中使“CustomExecutionContext”可用于依赖注入?