【问题标题】:How to share application.conf file between subprojects?如何在子项目之间共享 application.conf 文件?
【发布时间】:2014-03-03 12:34:58
【问题描述】:

我正在使用 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: The default EbeanServer has not been defined?这通常通过 ebean.datasource.default 属性设置。否则它应该通过 registerServer() 以编程方式注册

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

【问题讨论】:

    标签: java playframework-2.0 sbt


    【解决方案1】:

    在您的management/modules/security/build.sbt 中,添加以下行: unmanagedResourceDirectories in Test += baseDirectory.value / ".." / ".." / "conf"

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多