Ich habe eine Play-Anwendung, die auf der play-scala-Typesafe-Vorlage (Play Scala Seed) basiert und es versucht hat um Slick 3.0.0 zum Projekt hinzuzufügen und eine Verbindung zu einer PostgreSQL-Datenbank herzustellen.
Zuerst habe ich die Abhängigkeiten zu build.sbt
hinzugefügt:
Anschließend wurde die Datenbankkonfiguration in application.conf
:
Beachten Sie, dass ich das Pooling nicht explizit deaktiviert habe. Daher ist es standardmäßig aktiviert und versucht, HikariCP zu verwenden, da ab Slick 3.0.0 RC1 HikariCP-Unterstützung existiert und das Pooling ist standardmäßig aktiviert .
Und in meinem DAO-Objekt versuchte ich, die Datenbankverbindung wie folgt zu erhalten:
%Vor% Wenn ich die App mit activator run
starte, erhalte ich folgende Fehlermeldung:
RuntimeException: java.lang.NoClassDefFoundError: com / zaxxer / hikari / HikariConfig
Dann habe ich versucht, HikariCP als Abhängigkeit in build.sbt
hinzuzufügen:
Gereinigt und neu kompiliert die App mit activator clean compile
, und führte es erneut, aber ich bekomme einen weiteren Fehler:
RuntimeException: java.lang.UnsupportedClassVersionError: com / zaxxer / hikari / HikariConfig
Ich denke, ich vermisse etwas Konfiguration, aber ich bin mir nicht sicher und habe nicht mehr Informationen darüber gefunden. Wie sollte ich die Konfiguration einrichten, damit der Verbindungspool funktioniert?
Dieser Fehler bedeutet, dass das HikariCP-Paket für eine JRE kompiliert wird, die neuer ist als die, auf der Sie laufen. Und wenn Sie die Homepage ansehen, sehen Sie, dass die von Ihnen verwendete Version folgende ist:
>Java 8 Mavenartefakt:
%Vor%
Ich nehme an, dass Sie auf Java 7 laufen. Fügen Sie zu Ihrem build.sbt
Folgendes hinzu:
Übrigens, ich habe herausgefunden, dass die oben angegebene Konfigurationsstruktur nicht wie in Slick 3.0.0 funktioniert. Was für mich funktionierte, war die Konfiguration der Datenbank wie in der Dokumentation Ссылка , ansonsten nimmt Slick einige Standardwerte für die Konfiguration an. Ich spreche hauptsächlich über das Feld "Eigenschaften".
Also sollte so etwas funktionieren:
%Vor%Tags und Links scala postgresql playframework-2.3 slick-3.0 hikaricp