【发布时间】:2013-08-14 11:52:19
【问题描述】:
根据SolrEntityProcessor is called only once for sub-entities,我们可以使用https://issues.apache.org/jira/browse/SOLR-3336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel中打补丁的SolrEntityProcessor来解决子实体问题。
我尝试将 jar 文件重命名为 zip,然后尝试替换修补后的文件,但由于我只有 java 文件,我无法用类文件替换它。所以我放弃了这个想法。
这就是我尝试过的。我反编译了 solr 4.2 包中的原始 jar solr-dataimporthandler-4.2.0.jar。然后我替换补丁文件。并尝试编译文件以再次制作 jar。但是我开始遇到编译错误。
.\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ')' 预期
/* 432 / if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: 预期 / 432 / if (XPathEntityProcessor .2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: not a statement / 432 / if (XPathEntityProcessor.2.this.val$ isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: 表达式的非法开始 / 432 */ if (XPathEntityProcessor.2.this.val$isEnd.get() ) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ';'预计
/* 432 */ if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ';'预计
/* 432 / if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:398: 不是语句 / 433 * / XPathEntityProcessor.2.this.val$throwExp.set(false); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:398: ';'预计
/* 433 / XPathEntityProcessor.2.this.val$throwExp.set(false); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:406: not a statement / 442 */ XPathEntityProcessor.2.this.val$isEnd.set(true); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:406: ';'预计
/* 442 / XPathEntityProcessor.2.this.val$isEnd.set(true); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:409: 不是声明 / 445 */ XPathEntityProcessor.2.this.offer(row); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:409: ';'预计
/* 445 */ XPathEntityProcessor.2.this.offer(row); ^ 12 个错误
知道如何针对此问题修补 Solr4.2。
【问题讨论】: