我创建了一个Play!应用程序,并将其部署在TomCat下。这很有效。唯一的问题是属性文件的管理,当前在conf文件夹中,紧挨着application.conf。但是一旦客户端替换了war文件,自定义属性就会被默认值覆盖,从而导致错误。
现在我想介绍一个单独的属性文件,放在webapps文件夹中。这样我就可以确保我的客户端不会"意外地"覆盖文件。
结构是:
TomCat webapps:
myPlayApp
PlayConfig <-- here I want to place the config file
我想通过如下方式检索属性文件:
getFile("../PlayConfig/app.properties");
这显然不工作,但我不知道如何实现这一点?我想通过tomcat http url检索它,但端口号不同,所以这也行不通,我猜…
更新2012-01-25:
实际使用以下代码时:
Play.applicationPath.getPath();
当在tomcat外运行项目时,我得到绝对路径(所以不是在war文件中!)
当我在TomCat服务器上部署相同的项目时,我得到以下输出:
W:tomcat-5.5webappsMyTestProjectWEB-INFapplication.
从现在开始我确实可以使用相对路径了
我认为当部署在Servlet容器中时,play使用/WEB-INF/application作为基目录。尝试更改相对于此文件夹的路径。