如何在子项目之间共享application.conf文件?

时间:2014-03-03 12:34:58

标签: java playframework-2.0 sbt

我正在使用Play Framework 2.2.1并且有一个名为“management”的项目,其中一个子项目名为“security”(我使用了位于here的教程)。这是我的项目结构:

management
  + app
     + controllers
     + models
     + views
  + conf
     + application.conf
  + modules
     + security
         + app
            + controllers
            + models
            + views
         + test
            + models
               + ModelsTest.java
           build.sbt
  + test
      + models
          + ModelsTest.java
    build.sbt

当我运行测试命令时,Play返回了我的错误: javax.persistence.PersistenceException:默认的EbeanServer尚未定义?这通常通过ebean.datasource.default属性设置。否则,它应该通过registerServer()

以编程方式注册

如果我在security / conf目录中添加application.conf文件,它就可以了。如何使子项目与root.conf文件一起工作?

2 个答案:

答案 0 :(得分:1)

我认为您应该将子项目配置为与父项共享非托管源目录。这通常通过添加类似以下内容的方式在sbt中完成:

unmanagedResourceDirectories in Test <+= file("...") // Put here the path to the parent project resources folder

如果你在同一个sbt文件中定义了两个项目,你也可以这样说:

unmanagedResourceDirectories in Test <++= (unmanagedResourceDirectories in Test in parentProject)

测试位是一种通过配置轴来设置范围的方法; this page会告诉你更多相关信息。我认为这应该让你走上正确的道路,如果你仍然卡住,请分享你的build.sbt文件,以帮助找到更好的解决方案。

答案 1 :(得分:1)

management/modules/security/build.sbt中添加以下内容: unmanagedResourceDirectories in Test += baseDirectory.value / ".." / ".." / "conf"