标签:rda unix 方法 查看 更新 ram cto erro system
报如下错误,很显然,问题原因:空指针异常;
详细原因:定时更新使用的jar包apache-solr-dataimportscheduler-1.1.jar是网上找的,好像版本更不上了,反编译一下,问题出在SolrDataImportProperties类的36行,如下标红位置:
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代码,重新打包,经测试,定时增量更新和全量更新功能正常。
下载链接:
http://files.cnblogs.com/files/chenpi/solr-dataimportscheduler-1.1-source.zip
标签:rda unix 方法 查看 更新 ram cto erro system
原文地址:http://www.cnblogs.com/chenpi/p/6198353.html