我正在尝试使用elasticsearch Java API。我收到了这个错误:
java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
at org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198)
at org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:64)
at org.elasticsearch.client.transport.TransportClient$Builder.build(TransportClient.java:119)
at TryElastic.main(TryElastic.java:64)
那么,我怎样才能得到错误原因?它只说它是一个空指针错误。我可以打开和编辑的唯一文件是我的文件&#34; TryElastic.java&#34;。我想知道,导致java.io.Reader错误的原因是什么。我需要你的建议,谢谢...
答案 0 :(得分:0)
如果你看一下可能导致NPE的方法来源
你看到它正在尝试加载资源/config/names.txt
,它显然返回null并在Reader构造函数中触发NPE。 (由于使用的版本不同,Stracktrace行号不完全匹配)。
不幸的是,Elastic不检查资源流 - 它确实应该使用更好的错误消息引发自己的异常。
因此,要解决此问题,您应该检查您的安装中是否有该资源。