如何修补Solr4.2以解决SolrEnityProcessor子实体问题

如何修补Solr4.2以解决SolrEnityProcessor子实体问题,solr,solr4,Solr,Solr4,根据这一点,我们可以在中使用修补的SolrEntityProcessor来解决子实体问题 我尝试将jar文件重命名为zip,然后尝试替换修补过的文件,但由于我只得到java文件,所以无法将其替换为类文件。所以我放弃了这个想法 这就是我尝试过的。我反编译了Solr4.2包中的原始jar solr-dataimporthandler-4.2.0.jar。然后我替换补丁文件。并尝试编译文件以再次制作jar。但我开始出现编译错误 应为.\org\apache\solr\handler\dataimpor

根据这一点,我们可以在中使用修补的SolrEntityProcessor来解决子实体问题

我尝试将jar文件重命名为zip,然后尝试替换修补过的文件,但由于我只得到java文件,所以无法将其替换为类文件。所以我放弃了这个想法

这就是我尝试过的。我反编译了Solr4.2包中的原始jar solr-dataimporthandler-4.2.0.jar。然后我替换补丁文件。并尝试编译文件以再次制作jar。但我开始出现编译错误

应为.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:')

/*432/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:expected/432/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:非状态/432/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:expression/432*/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:';应为'

/*432*/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:397:';'应为'

/*432/if(xpathenticyprocessor.2.this.val$isEnd.get()){^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:398:非状态/433*/xpathenticyprocessor.2.this.val$throwExp.set(false);^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:398:“;”应为“;”

/*433/xpathenticyprocessor.2.this.val$throwExp.set(false);^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:406:非状态/442*/xpathenticyprocessor.2.this.val$isEnd.set(true);^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:406:“;”应为“;”

/*442/xpathenticyprocessor.2.this.val$isEnd.set(true);^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:409:非状态/445*/xpathenticyprocessor.2.this.offer(行);^.\org\apache\solr\handler\dataimport\xpathenticyprocessor.java:409:';'

/*445*/xpathenticyprocessor.2.此.offer(行);^12个错误

一年多前(2012年5月),Solr 3.6.1已经修复并关闭了您所指的关于如何修补Solr4.2的任何想法。

这意味着修复程序应该已经在4.2中可用。您不再需要应用此修补程序

编辑-1

我将附加在中的
SolrEntityProcessor.java
文件与和分支进行了比较。除了打印语句的清理之外,我看不到任何区别。这是因为该修补程序已提交到3.6版以后的版本


如果您认为仍然存在问题,则该问题可能不是本期中解决的问题,这可能意味着使用此文件进行修补不会对您有所帮助。欢迎您继续进行此练习,但我建议您(通过与Solr开发人员合作)确保走上正轨。我有一种感觉,您可能正在考虑一个不同的问题,如果有的话。

但直到4.2或甚至4.4,修复程序才在这里出现。还讨论了该修复程序未包含在分支中,应在邮件列表中验证-我建议删除一封电子邮件或IRC。我也发送了它们的联系方式。但请提供任何帮助太好了。上面提到的Solr问题现在在JIRA重新开放。@user766061-neat,希望有背景的人能帮你解决这个问题。