報以下錯誤,很顯然,問題緣由:空指針異常;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指針