java - EnableElasticSearchRepositories 异常

标签 java configuration elasticsearch

我正在使用使用 1.3.0.BUILD-SNAPSHOT 的 spring-data-elasticsearch 版本

以下代码在几周前运行良好。突然它开始给我一个异常(exception)。我试过给 basePackages 而不是 value..

/* We will require this at the point of deployment */
@EnableElasticsearchRepositories(basePackages = "com/rentomoney/rom/server/data/search/repository")
@Configuration
public class ROMElasticSearchConfig {

  ....

}

@EnableElasticsearchRepositories( "com.rentomoney.rom.server.data.search.repository")
@Configuration
public class ROMElasticSearchConfig {
  ....
}

这是正在生成的异常:

nested exception is java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories.repositoryBaseClass() at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:261) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:186) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:171) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)

最佳答案

错误有点神秘,但它确实意味着由于缺少依赖项而无法找到默认的 DefaultRepositoryBaseClass 类。

在 EnableElasticsearchRepositories 注解中为 repositoryBaseClass 签名:

Class<?> repositoryBaseClass() default DefaultRepositoryBaseClass.class;

如果您使用的是 SNAPSHOT 版本,则需要配置 SNAPSHOT 存储库以及 jar 不包含的任何必需的 SNAPSHOT 依赖项。确保您的 POM 文件中包含以下内容:

存储库:

<repository>
    <id>spring-snapshot</id>
    <name>Spring Maven SNAPSHOT Repository</name>
    <url>http://repo.springsource.org/libs-snapshot</url>
</repository>

依赖关系:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-commons</artifactId>
    <version>1.11.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>1.3.0.BUILD-SNAPSHOT</version>
</dependency>

这解决了我的问题。

关于java - EnableElasticSearchRepositories 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276066/

相关文章:

java - 我如何使用文本文件

java - 为什么我从 system.out.println() 和 system.exit() 得到两个不同的值?

javascript - 在 Electron 应用程序中管理应用程序设置

deployment - JBoss AS 7 - 按特定顺序部署 war

xml - uWSGI xml/ini 配置选项

elasticsearch - 将大词标记为词的组合

c# - 从Elasticsearch 5.5.0升级到7.5.1后的构建错误

java - 具有 https 连接的 Maven WebService

java - 由于 ReadVirtual 失败,无法创建堆转储

elasticsearch - 在Elasticsearch中获得缺失的值(value)