问题的缘由就是Lucene版本不兼容,下面的FSDirectory.open()在Lucene5.0.0版本下,open的参数是Path而不是File。
String path = " ... ";
directory = FSDirectory.open(new File(path));
所以在Lucene5.0.0版本下,正确的打开方式如下,这样得到的就是File,然后能正常赋给directory了。
String path = " ... ";
directory = FSDirectory.open(Paths.get(path));