2016-09-08 3 views
2

Ich arbeite an einem Projekt, wo ich Datenbank migrieren muss und H2-Datenbank für eine Datei für die Entwicklungsumgebung verwenden.Spring boot + H2 Db in Datei +/h2-Konsole

Ich fügte den Zugweg dependendy in pom meiner Frühlings-Boot (1.4.0.RELEASE) Web-Anwendung:

<dependency> 
     <groupId>org.flywaydb</groupId> 
     <artifactId>flyway-core</artifactId> 
    </dependency> 

Dann auf application.properties db und flyway I konfiguriert:

spring.h2.console.enabled=true 
spring.h2.console.path=/h2-console 
spring.datasource.url=jdbc:h2:file:./db/pippo.db; 
spring.datasource.username=pippo 
spring.datasource.password=pluto 


flyway.enabled=true 
flyway.url=jdbc:h2:file:./db/pippo.db 
flyway.user=pippo 
flyway.password=pluto 
flyway.locations=classpath:db/migration 

Dann, wenn ich die Anwendung starte, erstellt es die Datenbankdatei korrekt in ./db/pippo.db ... und so nehme ich an, dass alles gut funktioniert, aber wenn ich http://localhost:8081/h2-console in meinem Browser schreibe, erhalte ich 404 Antwort. Was stimmt nicht mit meiner Konfiguration?

Danke alle

+0

hinzugefügt haben Sind Sie sicher, dass Ihr Server auf Port 8081 ausgeführt wird? Welche Logging-Ausgabe erhalten Sie? Insbesondere bekommen Sie etwas wie Tomcat initialisiert mit Port (s): 8081 (http) '? Wenn die Konsole hochfährt, sollte etwas wie 'Mapping servlet: 'webServlet' zu [/ h2-console/*]' angezeigt werden. –

+0

Vielen Dank @HalleKnast, aber ich habe: ** server.port = 8081 ** auf ** meine application.properties ** das Protokoll sagt: ** Jetty begann auf Port (s) 8081 (http/1.1) ** und wie Sie sagten, ich habe ** Zuordnung Servlet: 'webServlet' zu [/ h2-Konsole/*] ** –

+0

Ok. Ich weiß nichts über Flyway, aber ich erwarte auch nicht, dass es das Problem ist. Erhalten Sie beim Start oder nach der Eingabe von "http: // localhost: 8081/h2-console" Ausnahmen oder Warnungen/Fehlerprotokolle? Wenn Sie Ihr vollständiges Protokoll veröffentlichen können, werde ich versuchen, es mir anzuschauen. –

Antwort

1

Stellen Sie sicher, h2 Abhängigkeit immer auf Anwendungsbereich ‚kompilieren‘, Umfang ‚Laufzeit‘ usw. h2-Konsole Fehler verursacht haben. Und Sie zu, um sicherzustellen, dass Sie ein Servlet-Mapping '/ h2-Konsole/*'

<dependency> 
    <groupId>com.h2database</groupId> 
    <artifactId>h2</artifactId> 
</dependency> 
+2

Danke Jungs. Ich habe das Problem gelöst, weil ich in application.properties eine Basisruhe-Konfiguration hinzugefügt habe und ich nicht erwartet habe, dass/h2-Konsole unter diesem Pfad war. Nochmals vielen Dank –

Verwandte Themen