2011-11-29 78 views
1

我创建了一个Play!应用程序并将其部署在TomCat下。这很好。唯一的问题是管理属性文件,目前位于application.conf旁边的conf文件夹中。但是随着客户端替换战争文件,定制属性会被默认值覆盖,从而导致错误。检索文件相对于播放应用程序路径

现在我想介绍一个单独的属性文件,放置在webapps文件夹中。这样我就可以确定我的客户不会“意外”覆盖文件。

所以结构将是:

TomCat webapps: 
    myPlayApp 
    PlayConfig <-- here I want to place the config file 

所以我想检索性能通过类似文件:

getFile("../PlayConfig/app.properties"); 

这显然是不行的,但我不知道该怎么做到这一点?使用下面的代码时

其实: 我想利用tomcat的HTTP URL检索它,但我的端口号各不相同,所以这也不会工作,我猜...

UPDATE 2012-01-25 :

Play.applicationPath.getPath(); 

我正在运行的项目外tomcat的时候获得的绝对路径

当我在Tomcat服务器部署在同一个项目我得到的弗洛(所以内部没有战争文件!)翼输出:

W:\tomcat-5.5\webapps\MyTestProject\WEB-INF\application. 

从这一点上我确实可以使用相对路径。

+0

这不会解决这个问题,但你有没有想过在数据库中保存属性呢? – emt14

+0

是的,我想过这个,但我不想为几个属性创建一个数据库。而且我已经有了一个客户端数据库,可以将数据发送出去,而且我无法将自己的东西放入该客户端数据库中。 – adis

回答

0

我认为,当部署在Servlet容器中时,play使用/WEB-INF/application作为基础目录。 尝试更改相对于此文件夹的路径。

相关问题