我正在使用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文件一起工作?
答案 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"