gpt4 book ai didi

maven - Elasticsearch 错误

转载 作者:行者123 更新时间:2023-11-29 02:55:46 24 4
gpt4 key购买 nike

我打算修复 Elastic Search 开源项目中的错误。我 fork 并克隆了 fork 副本。然后我将它作为 Maven 项目导入到 Eclipse 上,然后进行 Maven 构建。到目前为止,一切都很好。我打开了 ElasticSearchF.java 文件并尝试将其作为 Java 应用程序运行。(这是按照 http://www.lindstromhenrik.com/debugging-elasticsearch-in-eclipse/ 中编写的说明进行的)。

但我收到一条错误消息,指出没有为 ElasticSearch 设置 path.home,并抛出一条错误消息,指出 IllegalStateException。

我的问题是

  1. 为什么首先会出现此错误。
  2. 正如我所说,我想修复 ElasticSearch 项目中的错误。这是为我的目标设置环境的正确方法吗?或者我应该让客户端将请求发送到 ElasticSearch 服务器,然后在 Elastic Search 源代码中设置调试点。如何实现?

感谢您的耐心等待。

更新:我确实添加了一位回答者提到的 VM 参数。

然后它会抛出不同的错误并且对抛出它的原因一无所知。

java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: sun.misc.Launcher$AppClassLoader@29578426
at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:210)
at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:127)
at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:86)
at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:514)
at org.joda.time.DateTimeZone.getProvider(DateTimeZone.java:413)
at org.joda.time.DateTimeZone.forID(DateTimeZone.java:216)
at org.joda.time.DateTimeZone.getDefault(DateTimeZone.java:151)
at org.joda.time.chrono.ISOChronology.getInstance(ISOChronology.java:79)
at org.joda.time.DateTimeUtils.getChronology(DateTimeUtils.java:266)
at org.joda.time.format.DateTimeFormatter.selectChronology(DateTimeFormatter.java:968)
at org.joda.time.format.DateTimeFormatter.printTo(DateTimeFormatter.java:672)
at org.joda.time.format.DateTimeFormatter.printTo(DateTimeFormatter.java:560)
at org.joda.time.format.DateTimeFormatter.print(DateTimeFormatter.java:644)
at org.elasticsearch.Build.<clinit>(Build.java:53)
at org.elasticsearch.node.Node.<init>(Node.java:138)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:157)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:177)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:278)
at org.elasticsearch.bootstrap.ElasticsearchF.main(ElasticsearchF.java:30)
[2015-06-16 18:51:36,892][INFO ][node ] [Kismet Deadly] version[2.0.0-SNAPSHOT], pid[2516], build[9b833fd/2015-06-15T03:38:40Z]
[2015-06-16 18:51:36,892][INFO ][node ] [Kismet Deadly] initializing ...
[2015-06-16 18:51:36,899][INFO ][plugins ] [Kismet Deadly] loaded [], sites []
{2.0.0-SNAPSHOT}: Initialization Failed ...
- ExceptionInInitializerError
IllegalArgumentException[An SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'Lucene50' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classpath supports the following names: [es090, completion090, XBloomFilter]]

最佳答案

我在 https://github.com/elastic/elasticsearch/issues/12737 中得到了开发者社区的帮助并且能够对其进行调试。

过程简而言之就是:

1) 在 org.elasticsearch.bootstrap 包中搜索 Elasticsearch.java/ElasticsearchF.java 文件。

2) 右击->运行配置...

3) 在弹出的窗口中,单击“Arguments”选项卡,然后在“Program arguments:”部分下将值设为 start在“VM arguments:”部分下,将值指定为
-Des.path.home={您的 elasticsearch 代码库根文件夹的路径}/core -Des.security.manager.enabled=false

4) 单击“应用”,然后单击“运行”。

它现在运行。要检查,请转到 localhost:9200,您将收到类似这样的消息

 {
"name" : "Raza",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.0.0-beta1",
"build_hash" : "${buildNumber}",
"build_timestamp" : "NA",
"build_snapshot" : true,
"lucene_version" : "5.2.1"
},
"tagline" : "You Know, for Search"
}

关于参数的更多信息见:https://github.com/elastic/elasticsearch/commit/2b9ef26006c0e4608110164480b8127dffb9d6ad

关于maven - Elasticsearch 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30837055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com