如何找到播放框架应用程序的绝对路径?

时间:2010-10-31 18:51:47

标签: java playframework

目前我正在一个团队中工作!框架应用。
我必须实现的下一个用户故事需要一些不同的文件修改,例如将文件移动到已定义的目录。

因为我们在不同的平台上工作,所以我并不总是确定应用程序是否有正确的路径。所以我想使用app目录的绝对路径。

如何获得游戏的绝对路径!应用程序吗? 有没有方法?

4 个答案:

答案 0 :(得分:19)

Play具有应用程序路径属性:

String projectRoot = Play.applicationPath;

这将为您提供Play正在运行的目录。

我认为更好的做法是将目录移到项目安装目录之外,并将application.conf中的路径作为属性放置。然后在需要时检索它。例如:

Application.conf:

my.file.path=/tmp/whatever

代码:

String projectRoot = Play.configuration.getProperty("my.file.path");

答案 1 :(得分:10)

截至播放2.0:play.Play.application()。path()。getAbsolutePath()

答案 2 :(得分:10)

自版本 2.5.0 以来,不推荐使用play.Play类。建议注入play.Environment并使用以下方法:

public File rootPath();

play.Environment单例还包含一些非常方便的方法,它通过相对路径提供文件,例如。

public File getFile(String relativePath);
public URL resource(String relativePath);
public InputStream resourceAsStream(String relativePath);

答案 3 :(得分:3)

这些都不适用于我的播放版本,所以我使用了它: Play.current()。路径()getAbsolutePath。()