Я проверил этот вопрос, и приведенное там решение не решило мою проблему.
Я использую Spring-boot 1.3.2.RELEASE
вместе с spring-boot-starter-data-elasticsearch
.
Моя конфигурация:
@Configuration
@PropertySource(value = "classpath:application.properties")
@EnableElasticsearchRepositories(basePackages = "com.hoardings.backend")
public class ElasticsearchConfiguration {
@Resource
private Environment environment;
@Bean
public Client client() {
TransportClient client = new TransportClient();
TransportAddress address = new InetSocketTransportAddress(environment.getProperty("elasticsearch.host"), Integer.parseInt(environment.getProperty("elasticsearch.port")));
client.addTransportAddress(address);
return client;
}
@Bean
public ElasticsearchOperations elasticsearchTemplate() {
return new ElasticsearchTemplate(client());
}
}
и свойства:
elasticsearch.host=localhost
elasticsearch.port=9200
Я получаю следующее исключение (то же исключение, упомянутое в вопросе выше):
Caused by: java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories.repositoryBaseClass()
at java.lang.reflect.Method.getDefaultValue(Method.java:611) ~[na:1.8.0_45]
at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.registerDefaultValues(RecursiveAnnotationAttributesVisitor.java:69) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.doVisitEnd(RecursiveAnnotationAttributesVisitor.java:57) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.AnnotationAttributesReadingVisitor.doVisitEnd(AnnotationAttributesReadingVisitor.java:67) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.visitEnd(RecursiveAnnotationAttributesVisitor.java:48) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.asm.ClassReader.readAnnotationValues(ClassReader.java:1802) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.asm.ClassReader.accept(ClassReader.java:642) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.asm.ClassReader.accept(ClassReader.java:508) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:64) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:279) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 65 common frames omitted
Я проверил вопрос, упомянутый выше, и добавил зависимость для spring-data-commons
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.11.2.RELEASE</version>
</dependency>
но все же я получаю ту же ошибку.
Есть ли что-то, чего мне не хватает?
data-commons
. Spring Boot предоставляет некоторые автоматические конфигурации для elasticsearch, поэтому вам не нужно добавлять конфигурации. Просто удалите все конфигурации и используйтеspring.data.elasticsearch.cluster-nodes
свойства вapplication.properties
- person Ali Dehghani   schedule 06.03.2016