无法引用bean ElasticSearch

时间:2017-06-16 09:08:58

标签: elasticsearch spring-boot jhipster

我有一个问题,因为我无法找到哪个版本的elasticsearch与jhipster生成的1.5.2.RELEASE spring boot app兼容的信息。 当我在我的application-dev.yml

中使用属性在Windows上运行它时,一切都很完美
        elasticsearch:
        cluster-name:
        cluster-nodes:
        properties:
            path:
              logs: target/elasticsearch/log
              data: target/elasticsearch/data

在制作时我只警告我的应用程序无法连接elasticsearch服务。这是正常的,因为我没有在9300端口运行它...但我有另一个问题。当我尝试将它部署到我的linux服务器(debian)时,我有几个错误'无法解析bean elasticsearchTemplate'和嵌套异常等的另一个错误...关于elasticsearch和构造函数参数的所有错误。

我尝试在寡妇身上下载弹性搜索并测试它,所以我做到了。我下载了elasticsearch版本5.4.1并对其进行了配置......但它仍然对我的网络应用程序不可见。

我的弹性属性是

        elasticsearch:
        cluster-name: elasticsearch
        cluster-nodes: localhost:9300

任何解决方案并建议?

谢谢

1 个答案:

答案 0 :(得分:2)

您无需担心版本控制,因为这是spring-boot的工作。

Spring Boot - > Dependency management

  

每个版本的Spring Boot都提供了它支持的依赖项的精选列表。实际上,您不需要为构建配置中的任何这些依赖项提供版本,因为Spring Boot正在为您管理这些依赖项。当您升级Spring Boot时,这些依赖项也将以一致的方式升级。

JHipster documentation所述,回到Elasticsearch
在制作中使用

  

在制作中,JHipster期待一个外部的Elasticsearch实例。默认情况下,应用程序查找在localhost上运行的Elasticsearch实例。这可以使用application-prod.yml文件中的标准Spring Boot属性进行配置。

创建JHipster项目并指定将使用ElasticSearch而不是在名为/src/main/docker/的{​​{1}}下创建的docker配置文件包含:

elasticsearch.yml

以上示例摘自JHipster团队在jhipster-sample-app-elasticsearch

的ElasticSearch项目示例

因此,在开始生产应用程序之前,请确保已启动ElasticSearch实例。解决方案是使用docker-compose启动它,您可以使用这样的配置文件:version: '2' services: jhipsterelasticsearchsampleapplication-elasticsearch: image: elasticsearch:2.4.1 # volumes: # - ~/volumes/jhipster/jhipsterElasticsearchSampleApplication/elasticsearch/:/usr/share/elasticsearch/data/ ports: - 9200:9200 - 9300:9300