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

seg*_*aco 5 java sbt playframework-2.0

我正在使用Play Framework 2.2.1并且有一个名为"management"的项目,其中一个子项目名为"security"(我使用的是此处的教程).这是我的项目结构:

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
Run Code Online (Sandbox Code Playgroud)

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

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

Ald*_*nio 1

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

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

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

unmanagedResourceDirectories in Test <++= (unmanagedResourceDirectories in Test in parentProject)
Run Code Online (Sandbox Code Playgroud)

测试位是一种通过配置轴确定设置范围的方法此页面将告诉您更多相关信息。我认为这应该让您走上正确的道路,如果您仍然遇到困难,请分享您的 build.sbt 文件以帮助找到更好的解决方案。