0

我正在将文件存储到一个文件夹中!项目,我有一个关于路径的问题。我的解决方案有效,但我认为该解决方案是次优的。

我目前的解决方案:

public static String getStoragePath(){
    String pubDir =  Play.application().configuration().getString("pathToFiles");

    if(Play.isProd()){ 
        String prodDir = Play.application().configuration().getString("productionPath"); 
        //prodDir variable is "target/scala-2.9.1/classes"

        return Play.application().path().getAbsolutePath() + "/" + prodDir + "/" + pubDir;
    }else{
        return Play.application().path().getAbsolutePath() + "/" + pubDir;
    }
}

我的问题:

我这样做是因为运行“play run”和“play start”时路径不同。有没有办法避免使用这个 if 块?我不想依赖于我的配置文件中的 productionPath 字符串。

4

1 回答 1

2

使用 conf 文件是一种方法。只需为您的生产环境使用不同的 conf 文件,您就不需要在代码中进行大量 if(isProd...) 检查。

Play 2 能够使用文档中所述的替代/扩展配置文件(指定替代配置文件部分)。此外,您可以创建简单的 bash 脚本(或 Windows 中的 .bat 文件)以所需模式启动应用程序,而无需每次都指定替代文件。

于 2012-12-06T14:56:22.453 回答