java - 设置 Cassandra Liquibase

标签 java jdbc cassandra classpath liquibase

我正在尝试设置 cassandra liquibase。 https://github.com/liquibase/liquibase-cassandra

从终端执行的代码:

java -jar  ~/.m2/repository/org/liquibase/liquibase-core/3.4.1/liquibase-core-3.4.1.jar  \
  --driver=org.apache.cassandra.cql.jdbc.CassandraDriver  \
  --classpath="/.../liquibase-cassandra/target/liquibase-cassandra-1.0-SNAPSHOT.jar:/.../liquibase-cassandra/target/cassandra-jdbc-1.2.5.jar"  \
  --changeLogFile=/.../conf/liquibase.xml  \
  --url=jdbc:cassandra://host1--host2--host3:9160/keyspace1 \
  --username=cassandra \
  --password=cassandra \
  update

Error: Unexpected error running Liquibase: Could not initialize class org.apache.cassandra.cql.jdbc.CassandraDriver

我不确定使用 liquibase cassandra 扩展的正确语法是什么。我克隆了 liquibase-cassandra 项目,用 mvn 创建了一个 jar 并假设 org.apache.cassandra.cql.jdbc.CassandraDriver liquibase.ext.cassandra.database.CassandraDatabase中提到class是我需要的jdbc驱动程序。 我没有任何 liquibase 的经验,我还在上大学,在某些领域我的知识还很模糊。

最佳答案

正如错误所示,我的 jdbc 驱动程序有问题。我也无法使用 SQLWorkbenchJ 和该驱动程序连接到 Cassandra 数据库。我不确定问题是否出在我的网址语法上。

我尝试使用不同的 jdbc 驱动程序。 com.github.cassandra.jdbc.CassandraDriver。 Jar:cassandra-jdbc-driver-0.6.4-shaded.jar 和 jar 的 url:https://github.com/zhicwu/cassandra-jdbc-driver/releases .

此特定驱动程序的 URL 语法:url=jdbc:c*://ipaddress:port

java -jar  /.../.m2/repository/org/liquibase/liquibase-core/3.4.1/liquibase-core-3.4.1.jar \
  --driver=com.github.cassandra.jdbc.CassandraDriver \      
  --classpath="/.../cassandra-jdbc-driver-0.6.4-shaded.jar:/.../liquibase-cassandra/target/liquibase-cassandra-1.0-SNAPSHOT.jar:/.../log4j-1.2.17.jar" \     
  --changeLogFile=/.../conf/liquibase.xml \       
  --url=jdbc:c*://127.0.0.1:9042 \      
  --username=cassandra \      
  --password=cassandra \   
update

这有效。 :)

关于java - 设置 Cassandra Liquibase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569547/

相关文章:

java - 比较两个不同表的两个结果集

c# - FluentCassandra 范围选择问题

cassandra - Storm Bolt 数据库连接

java - 集合.forEach : How to add up values?

java - 类型参数是 X 隐藏类型 X

java - 关闭 UCanAccess 连接后无法删除数据库文件

java - JUnit + Spring 配置文件 : could not load JDBC driver class

java - Cassandra 中计算行中列数的方法是什么?

java - 为什么这种快速排序分区方法是错误的?

java - SpeechRecognizer 什么都不做......我错过了什么