[JAVA] Bei der Einführung von JOOQ in Spring Boot wurde eine Geschichte behandelt, die behandelt wurde, weil bei Liquidbase ein Fehler aufgetreten ist

Hintergrund

Ich studiere Spring Boot.

ist.

Ich wollte SQL-Methoden-basiert schreiben, während ich Spring Boot studierte

Frühling Obwohl ich einen einfachen DB-Zugriff mit dem Standard-JPA hatte, Als ich zum Tisch ging, fühlte ich mich nicht gut darin. .. .. Ich erinnere daran, dass ich in der Vergangenheit bei der Arbeit SELECT-Anweisungen auf Methodenbasis geschrieben habe Ich habe nach einer ähnlichen Bibliothek gesucht.

Gibt es einen ORM vom Typ Query Builder mit dem Namen ** JOOQ **? Ich habe das bemerkt und es vorgestellt.

Einführungsmethode

Ich werde es weglassen. Während der Verwendung von Postgres hatte ich keine großen Probleme mit der automatischen Generierung von tabellenbezogenem Quellcode für die Tabellen in der Zieldatenbank.

Ein Fehler ist aufgetreten!

Es scheint kein Kompilierungsfehler zu geben. Als ich versuchte, die WEB-Anwendung zu starten, trat der folgende Fehler auf.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.ChangeLogParseException: Error parsing classpath:/db/changelog/db.changelog-master.yaml
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
	at jp.ken.PasswordmanagerApplication.main(PasswordmanagerApplication.java:10) ~[main/:na]
Caused by: liquibase.exception.ChangeLogParseException: Error parsing classpath:/db/changelog/db.changelog-master.yaml
	at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:83) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.Liquibase.update(Liquibase.java:190) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.Liquibase.update(Liquibase.java:179) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:366) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:314) ~[liquibase-core-3.8.7.jar:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	... 18 common frames omitted
Caused by: java.io.FileNotFoundException: class path resource [db/changelog/db.changelog-master.yaml] cannot be resolved to URL because it does not exist
	at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195) ~[spring-core-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at liquibase.integration.spring.SpringLiquibase$SpringResourceOpener.getResourcesAsStream(SpringLiquibase.java:613) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.util.StreamUtil.singleInputStream(StreamUtil.java:186) ~[liquibase-core-3.8.7.jar:na]
	at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:26) ~[liquibase-core-3.8.7.jar:na]
	... 25 common frames omitted

Was ist das? .. .. Was ist Liquidbase? : Augen rollen:

Mit der Weisheit unserer Vorgänger https://qiita.com/opengl-8080/items/37beac5e210f5363af4b

Es sieht ungefähr wie ein DB-Management-Tool aus. Es scheint bequem, aber ich brauche es jetzt nicht. Können wir es also nicht schaffen, durchzukommen?

Ich habe die folgenden Einstellungen beim Überprüfen versucht

  1. Erstellen Sie einen Datenbankordner in src / main / resources
  2. Erstellen Sie eine Datei mit dem Namen db.changelog-master.yaml im Ordner db
  3. Zu application.properties hinzugefügt

Inhalt von db.changelog-master.yaml

db.changelog-master.yaml


databaseChangeLog:
  - changeSet:
       author: authorName
       id: changelog-1.0

Selbst wenn ich die Datei geleert oder "databaseChangeLog:" verlassen habe, ist ein Fehler aufgetreten. Deshalb habe ich nach dem erforderlichen Minimum gesucht und es wie oben gefunden.

application.properties Nachtrag

application.properties


spring.liquibase.change-log=classpath:db/db.changelog-master.yaml

Ich werde das obige Yaml spezifizieren.

Informationen zum Erstellen einer Datei finden Sie auf der folgenden Site. https://stackoverflow.com/questions/41990295/java-illegalstateexception-cannot-find-changelog-location-class-path-resourc

Darüber hinaus wird das minimal erforderliche Yaml-Element von der folgenden Stelle abgeleitet. https://qiita.com/opengl-8080/items/37beac5e210f5363af4b

Der Fehler wurde oben behoben! Glückwunsch Glückwunsch.

Recommended Posts

Bei der Einführung von JOOQ in Spring Boot wurde eine Geschichte behandelt, die behandelt wurde, weil bei Liquidbase ein Fehler aufgetreten ist
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Eine Seite, die leicht zu verstehen war, als ich anfing, Spring Boot zu lernen
Eine Geschichte, die mich bedauerte, als während der Entwicklung der Spring Boot-App eine "NotReadablePropertyException" auftrat.
[Nicht autorisierter Vorgang] Ein Memorandum, da beim Erstellen einer EC2-Instanz ein Fehler aufgetreten ist.
Die Geschichte des Übergangs von Spring Boot 1.5 zu 2.1
Beim Ausführen einer Funktion in PostgreSQL mit dem Parameter OUT von MyBatis auf CURSOR ist ein Fehler aufgetreten.
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
Wenn Sie irgendwo einen Fehler melden möchten, wenn Sie graphql-spring-boot mit Spring Boot verwenden
Eine Geschichte, die mir sehr gut gefallen hat, als ich mit Ruby Triple DES gemacht habe
Vom Erstellen eines Spring Boot-Projekts bis zum Ausführen einer Anwendung mit VS Code
Eine Geschichte über einen Fehler während der Migration in Docker PHP Laravel
Die Geschichte, Sprint-Boot mit Kubernetes (GKE) auszuführen und keine Verbindung zu CloudSQL herzustellen
[Spring Boot] Die Geschichte, dass die Bean der Klasse mit der Annotation ConfigurationProperties nicht gefunden wurde
Beim Hochladen einer Datei mit Spring Boot wird eine Fehlerbehandlung durchgeführt, wenn die maximale Dateigröße überschritten wird.
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Java: Eine Geschichte, in der ich mich unwohl fühlte, als mir beigebracht wurde, Strings ohne Grund mit Gleichen zu vergleichen.
Die Geschichte, die zur Lösung des Fehlers führte, weil postgres nicht mit Docker-Compose begann
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Ein Fehler ist aufgetreten, weil die only_full_group_by von sql_mode nicht beobachtet wurde.
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Beim Testen der Formularauthentifizierung mit Spring Security tritt ein 404-Fehler auf
Eine Geschichte über die Verbindung zu einem CentOS 8-Server mit einem alten Ansible
So erstellen Sie mit Spring Boot einen eigenen Controller, der / error entspricht
[Abgelehnt] Ein Memorandum, da während der Bereitstellung in Heroku ein Fehler aufgetreten ist
Beispielcode zum Testen eines Spring Boot-Controllers mit MockMvc
Wenn Sie einen Anruf erhalten, senden Sie eine SMS an diese Nummer
Es wurde ein Fehler behoben, der beim Versuch auftrat, Spark in einer Umgebung zu verwenden, in der Java 8 und Java 11 gleichzeitig vorhanden sind
So legen Sie eine Standardabrufgröße fest, wenn jOOQ beim Abrufen einer großen Ergebnismenge einen OOM-Fehler erhält
Die Geschichte, ein Projekt zu bauen, das Maven mit Ant gebaut hat
[Spring Boot] Vorsichtsmaßnahmen beim Entwickeln einer Webanwendung mit Spring Boot und beim Ausführen eines Krieges auf einem unabhängigen Tomcat-Server
Eine Geschichte, der ich mit der automatischen Starteinstellung von Tomcat 8 unter CentOS 8 zweimal verfallen war