报以下错误,很显然,问题缘由:空指针异常;java
详细缘由:定时更新使用的jar包apache-solr-dataimportscheduler-1.1.jar是网上找的,好像版本更不上了,反编译一下,问题出在SolrDataImportProperties类的36行,以下标红位置:apache
public void loadProperties(boolean force) { try { SolrResourceLoader loader = new SolrResourceLoader(null); logger.info("Instance dir = " + loader.getInstanceDir()); String configDir = loader.getConfigDir(); configDir = SolrResourceLoader.normalizeDir(configDir);
个人solr版本是5.5.3,找到org.apache.solr.core.SolrResourceLoader,查看其构造方法,有四个,咱们使用的是public SolrResourceLoader(Path instanceDir),因为传入的instanceDir为null报错(具体内部代码就没调试进去了):测试
public SolrResourceLoader() { this(locateSolrHome(), null, null); } public SolrResourceLoader(Path instanceDir, ClassLoader parent) { this(instanceDir, parent, null); } public SolrResourceLoader(Path instanceDir) { this(instanceDir, null, null); } public SolrResourceLoader(Path instanceDir, ClassLoader parent, Properties coreProperties) { if (instanceDir == null) {
...
修改apache-solr-dataimportscheduler-1.1代码,调用无参构造方法,从新打包,经测试,定时增量更新和全量更新功能正常。this
下载连接:spa
http://files.cnblogs.com/files/chenpi/solr-dataimportscheduler-1.1.1.zip指针