Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Jetty中嵌入Solr时无法创建CoreContainer_Java_Solr_Lucene_Jetty - Fatal编程技术网

Java 在Jetty中嵌入Solr时无法创建CoreContainer

Java 在Jetty中嵌入Solr时无法创建CoreContainer,java,solr,lucene,jetty,Java,Solr,Lucene,Jetty,我按照这篇文章上的说明做了 当我尝试执行此代码时: File home = new File(System.getProperty("solr.solr.home")); CoreContainer container = new CoreContainer(home.getPath()); container.load(); EmbeddedSolrServer server = new EmbeddedSolrServer(container, "collection1"); 我遇到了以下

我按照这篇文章上的说明做了

当我尝试执行此代码时:

File home = new File(System.getProperty("solr.solr.home"));
CoreContainer container = new CoreContainer(home.getPath());
container.load();
EmbeddedSolrServer server = new EmbeddedSolrServer(container, "collection1");
我遇到了以下错误:

org.apache.lucene.store.lockOcctainFailedException:锁获取已计时 输出: NativeFSLock@C:\solr-4.6.0\example\solr\collection1\data\index\write.lock

经调查,装载CoreContainer时发出错误。它试图锁定索引中显然已锁定的文件

进一步的调查显示SolrRequestFilter(由Jetty初始化的过滤器)也实例化了一个CoreContainer,我猜他就是罪犯。当我从web.xml中删除SolrRequestFilter定义时,我能够成功地实例化CoreContainer和EmbeddedServer


我希望了解如何克服这个问题,因为它似乎应该能够工作。

您必须找到锁定此索引的人

还有几种方法可能会有所帮助:

  • 因为您启动了嵌入式Solr,所以需要确保Solr现在没有运行(我敢打赌99%的原因是这个问题)
  • 您可以手动删除此锁定文件