私は、次のコマンドを実行しています:LiquiBaseをコマンドラインエラー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
をしかし、私はエラーにLiquiBaseを実行
予期しないエラーを取得しています:org.yaml.snakeyamlを。 Yaml
他の理由で私はエラーが発生しています。私が使用しているsnakeymlライブラリが適切なライブラリであるかどうかをどのように知ることができますか?
編集: @bilakのおかげで私は--logLevel =デバッグフラグを追加しましたが、まだあまり情報 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
だからそれは接続して、間違いなくエラーが間違ったorg.yamlに関連しています。 snakeyaml.Yaml私が推測する 1.クラスパスは役に立ちません 2.私が使用しようとしているバージョンは適切ではありません
内LiquiBaseをを実行していたので、それは私のために完全に大丈夫だったが、 '--logLeve = DEBUG'を指定し、より多くの情報LiquiBaseをコマンドで何 – bilak
を得ることができるかどうかを確認してみては?それはLinux上でdebパッケージか、それとも何の下で実行していますか? – bilak
と、どのバージョンのliquibaseを使用していますか – bilak