2014-03-03 2 views
5

Ich benutze Play Framework 2.2.1 und habe ein Projekt namens "management" mit einem Unterprojekt namens "security" (Ich habe das Tutorial verwendet here). Hier ist meine Projektstruktur:Wie teile ich die Datei application.conf zwischen Teilprojekten?

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 

Wenn ich den Test Befehl ausführen, spielen mich mit diesem Fehler zurückgegeben: javax.persistence.PersistenceException: Die Standard-EbeanServer nicht definiert wurde? Dies wird normalerweise über die Eigenschaft ebean.datasource.default festgelegt. Sonst sollte es über registerServer() programmgesteuert registriert werden.

Wenn ich die Datei application.conf im Verzeichnis security/conf hinzufüge, funktioniert es. Wie kann ich dafür sorgen, dass das Unterprojekt mit der root-Datei application.conf funktioniert?

Antwort

0

Ich denke, dass Sie das Unterprojekt konfigurieren sollten, um das nicht verwaltete Quellverzeichnis mit dem übergeordneten zu teilen. Dies wird in der Regel in SBT erfolgt durch so etwas wie die Zugabe von folgenden:

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

Wenn Sie beide Projekte definiert in der gleichen sbt-Datei können Sie auch sagen, so etwas wie:

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

Der -Test Bit ist eine Möglichkeit, eine Einstellung nach Konfigurationsachse zu definieren; this page wird Ihnen mehr darüber erzählen. Ich denke, dies sollte Sie auf den richtigen Weg bringen, wenn Sie immer noch stecken bleiben, teilen Sie bitte Ihre build.sbt Dateien, um mit einer besseren Lösung zu helfen.

0

In Ihrem management/modules/security/build.sbt, fügen Sie die Zeile: unmanagedResourceDirectories in Test += baseDirectory.value/".."/".."/"conf"