Ich Ausführung der folgende:liquibase Befehlszeile Fehler org.yaml.snakeyaml.Yaml
liquibase --classpath=./postgresql-42.1.4.jar:./snakeyaml-1.12.jar --changeLogFile=./src/main/resources/db/changelog/db.changelog-master.yaml --username=postgres --password=mysecret --url=jdbc:postgresql://localhost:5432/mydatabase --driver=org.postgresql.Driver update
Aber ich erhalte eine Fehlermeldung
Unerwarteter Fehler läuft Liquibase: org.yaml.snakeyaml. Yaml
Und keine anderen Verweise auf, warum ich den Fehler habe. Woher weiß ich, ob die von mir verwendete snakeyml-Bibliothek die richtige ist?
Edit: Dank @bilak I --logLevel = Debug-Flag, aber immer noch nicht viele Informationen D
EBUG 10/31/17 4:24 PM: liquibase: Connected to [email protected]:postgresql://localhost:5432/mysdatabase
DEBUG 10/31/17 4:24 PM: liquibase: Setting auto commit to false from true
DEBUG 10/31/17 4:24 PM: liquibase: Executing QUERY database command: select count(*) from public.databasechangeloglock
DEBUG 10/31/17 4:24 PM: liquibase: Executing QUERY database command: select count(*) from public.databasechangeloglock
DEBUG 10/31/17 4:24 PM: liquibase: Executing QUERY database command: SELECT LOCKED FROM public.databasechangeloglock WHERE ID=1
DEBUG 10/31/17 4:24 PM: liquibase: Lock Database
DEBUG 10/31/17 4:24 PM: liquibase: Executing UPDATE database command: UPDATE public.databasechangeloglock SET LOCKED = TRUE, LOCKEDBY = '172.17.0.1 (172.17.0.1)', LOCKGRANTED = '2017-10-31 16:24:07.734' WHERE ID = 1 AND LOCKED = FALSE
INFO 10/31/17 4:24 PM: liquibase: Successfully acquired change log lock
DEBUG 10/31/17 4:24 PM: liquibase: Release Database Lock
DEBUG 10/31/17 4:24 PM: liquibase: Executing UPDATE database command: UPDATE public.databasechangeloglock SET LOCKED = FALSE, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1
INFO 10/31/17 4:24 PM: liquibase: Successfully released change log lock
Unexpected error running Liquibase: org.yaml.snakeyaml.Yaml
SEVERE 10/31/17 4:24 PM: liquibase: org.yaml.snakeyaml.Yaml
java.lang.NoClassDefFoundError: org/yaml/snakeyaml/Yaml
at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:23)
at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:229)
at liquibase.Liquibase.update(Liquibase.java:202)
at liquibase.Liquibase.update(Liquibase.java:192)
at liquibase.integration.commandline.Main.doMigration(Main.java:1126)
at liquibase.integration.commandline.Main.run(Main.java:184)
at liquibase.integration.commandline.Main.main(Main.java:103)
Caused by: java.lang.ClassNotFoundException: org.yaml.snakeyaml.Yaml
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
So verbindet er hinzugefügt und auf jeden Fall wird der Fehler an den falschen org.yaml bezogen. snakeyaml.Yaml ich denke, 1. die classpath nicht 2. die Version helfen ich nicht geeignet zu verwenden ist versucht
Versuch Liquibase lief '--logLeve = debug' zu spezifizieren und sehen, ob Sie – bilak
weitere Informationen zu bekommen, was ist liquibase-Befehl? Ist es das Deb-Paket auf Linux oder was machst du darunter? – bilak
und auch welche Version von liquibase verwenden Sie – bilak