【问题标题】:Cassandra not working after upgrading to Finchley.RELEASE升级到 Finchley.RELEASE 后 Cassandra 无法工作
【发布时间】:2019-01-30 16:46:35
【问题描述】:

PFB 错误详情。 造成的: org.springframework.beans.factory.BeanCreationException:在类路径资源[com/walgreens/coupons/config/CommonConfig.class]中定义名称为“session”的bean创建错误:通过工厂方法实例化bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.data.cassandra.config.CassandraSessionFactoryBean]:工厂方法“会话”抛出异常;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [com/walgreens/coupons/config/CommonConfig.class] 中定义名称为“cluster”的 bean 创建错误:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: Could not initialize class com.datastax.driver.core.Cluster

build.gradle

import com.bmuschko.gradle.docker.tasks.image.Dockerfile
import java.text.SimpleDateFormat;
import org.apache.tools.ant.taskdefs.condition.Os

buildscript {
ext
{ springBootVersion = '2.0.1.RELEASE' }



{{dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath ("com.bmuschko:gradle-docker-plugin:3.2.1")
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.5")
classpath("au.com.dius:pact-jvm-provider-gradle_2.12:3.5.13")
classpath ("com.moowork.gradle:gradle-node-plugin:1.2.0")

}}}

}

plugins
{ //id "au.com.dius.pact" version "3.5.7" id "com.gorylenko.gradle-git-properties" version "1.4.17" id "de.undercouch.download" version "3.4.2" }

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.bmuschko.docker-remote-api'
apply plugin: 'jacoco'
apply plugin: 'maven-publish'
apply plugin: 'org.sonarqube'
apply plugin: 'au.com.dius.pact'
apply plugin: 'scala'

sourceCompatibility = 1.8

ext
{ springCloudVersion = 'Finchley.RELEASE' }

pact {
serviceProviders {
rxorder {
publish
{ pactDirectory = '/Users/sv/Documents/doccc/target/pacts' // defaults to $buildDir/pacts pactBrokerUrl = '[http://localhost:80|http://localhost/]' version=2.0 }

}
}
}

//start of integration tests changes
sourceSets {
integrationTest {
java
{ compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('test/functional-api/java') }

resources.srcDir file('test/functional-api/resources')
}
}

configurations
{ integrationTestCompile.extendsFrom testCompile integrationTestRuntime.extendsFrom testRuntime }

//end of integration tests changes
dependencies {
//web (Tomcat, Logging, Rest)
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web'
// Redis
//compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis'
//Mongo Starter
compile group: 'org.springframework.boot', name:'spring-boot-starter-data-mongodb'



{{// Configuration processor - To Generate MetaData Files. The files are designed to let developers offer “code completion� as users are working with application.properties
compile group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
// Actuator - Monitoring
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'

//Sleuth - Tracing
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth'
//Hystrix - Circuit Breaker
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix'
// Hystrix - Dashboard
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix-dashboard'
// Thymeleaf
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'
//Voltage
// Device Detection
//compile group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '3.3.0'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-cassandra', version:'1.5.12.RELEASE'
compile('com.google.code.gson:gson:2.8.0')
compile('org.json:json:20170516')

//Swagger
compile group: 'io.springfox', name: 'springfox-swagger2', version:'2.8.0'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version:'2.8.0'

//Lombok
compileOnly group: 'org.projectlombok', name: 'lombok'
compile group: 'io.smartcat', name: 'cassandra-diagnostics-connector21', version: '1.4.10'
//Testing
//Spring WS Test
testCompile group: 'org.springframework.ws', name: 'spring-ws-test', version:'2.4.0.RELEASE'

testCompile('org.springframework.boot:spring-boot-starter-test')
{ exclude group: "com.vaadin.external.google", module:"android-json" }

//Pact
testCompile group: 'au.com.dius', name: 'pact-jvm-provider-gradle_2.12', version: '3.5.7'
testCompile group: 'au.com.dius', name:'pact-jvm-provider-junit_2.12',version:'3.5.13'
testCompile group: 'au.com.dius', name:'pact-jvm-consumer-junit_2.12', version:'3.5.13'

//Embedded mongo for testing
testCompile group: 'de.flapdoodle.embed', name:'de.flapdoodle.embed.mongo',version:'2.0.1'
//testCompile group: 'cz.jirutka.spring', name: 'embedmongo-spring', version: '1.1'

compile group: 'info.cukes', name: 'cucumber-jvm', version: '1.2.5'
testCompile group: 'info.cukes', name: 'cucumber-junit', version: '1.2.5'
testCompile group: 'info.cukes', name: 'cucumber-spring', version: '1.2.5'

testCompile('org.cassandraunit:cassandra-unit-spring:3.5.0.1')
{ exclude group: 'org.cassandraunit', module: 'cassandra-unit' }

// https://mvnrepository.com/artifact/org.cassandraunit/cassandra-unit-shaded
compile group: 'org.cassandraunit', name: 'cassandra-unit-shaded', version: '3.5.0.1'
// https://mvnrepository.com/artifact/org.hectorclient/hector-core
compile group: 'org.hectorclient', name: 'hector-core', version: '2.0-0'

integrationTestCompile group: 'org.springframework.ws', name: 'spring-ws-test', version:'2.4.0.RELEASE' //changes for integration tests
integrationTestCompile("org.springframework.boot:spring-boot-starter-test")
{ //changes for integration tests exclude group: "com.vaadin.external.google", module:"android-json" }

integrationTestCompile group: 'info.cukes', name: 'cucumber-junit', version: '1.2.5' //changes for integration tests
integrationTestCompile group: 'info.cukes', name: 'cucumber-spring', version: '1.2.5' //changes for integration tests}}

}

dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}

}

【问题讨论】:

  • spring cloud和cassandra没关系,你是不是也把boot升级到2.0.x了?如果是这样,那里可能有一些东西。
  • 不,除了 Spring Cloud 版本,我没有更改任何内容。我已经在使用 spring boot 2.0.1,我也尝试使用 2.0.3,但没有任何效果。
  • 通常这类错误是损坏的 maven 或 Gradle 下载。春云中没有任何东西会导致这种情况。
  • 是的,我同意,但无法找到此问题的任何根本原因。当我们单独运行时,相同的测试用例可以工作,但是当我们通过 gradle test 运行时,它就不起作用了。
  • 所以这是 Gradle 问题?你的帖子很详细。

标签: cassandra spring-cloud spring-data-cassandra


【解决方案1】:

感谢大家的帮助。我们能够通过单独添加以下依赖项来解决该问题。

compile group: 'com.google.guava', name: 'guava', version: '23.2-jre'
compile group: 'org.apache.cassandra', name: 'cassandra-all', version: '3.11.3'

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 2016-11-07
    • 2016-02-20
    • 2015-03-21
    • 2018-11-29
    • 2020-02-20
    • 1970-01-01
    • 2019-02-24
    • 2015-11-03
    相关资源
    最近更新 更多