我对简单的Spring Boot应用程序有疑问。我正在使用:
我遵循https://www.baeldung.com/spring-data-cassandra-tutorial中的简单指南,无论Cassandra是否正在运行 启动时出现一个错误:
2018-11-25 09:12:34.581 ERROR 83213 --- [main] o.s.boot.SpringApplication: Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'session' defined in class path resource [some/project/path/CassandraConfig.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/codahale/metrics/JmxReporte
我的配置类:
@Configuration
@EnableCassandraRepositories(basePackages = "packagename")
public class CassandraConfig extends AbstractCassandraConfiguration {
@Override
protected String getKeyspaceName() {
return "test";
}
@Bean
public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
cluster.setContactPoints("127.0.0.1");
cluster.setPort(9042);
return cluster;
}
@Override
public SchemaAction getSchemaAction() {
return SchemaAction.CREATE_IF_NOT_EXISTS;
}
@Override
public String[] getEntityBasePackages() {
return new String[]{"packagename"};
}
}
实体:
@Table
public class Image implements Serializable {
@PrimaryKeyColumn(
name = "key",
ordinal = 0,
type = PrimaryKeyType.PARTITIONED)
private UUID id;
@Column
private Blob object;
}
存储库:
@Repository
public interface ImagesRepository extends CrudRepository<Image, UUID> {
}
Cassandra结构:
CREATE TABLE images (
key text,
object blob,
PRIMARY KEY (key)
);
https://github.com/springframeworkguru/spring-boot-cassandra-example也给我一个关于创建bean的错误。
答案 0 :(得分:0)
您缺少Dropwizard依赖性:
您需要metrics-core库作为依赖项:
<dependencies> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${metrics.version}</version> </dependency>
注意
确保在POM中声明了带有当前版本3.1.0的metrics.version属性。