首页 > java > lucene3创建Html索引时候报Parse Aborted错的解决方法

lucene3创建Html索引时候报Parse Aborted错的解决方法

2010年4月29日 发表评论 阅读评论
问题描述
用Lucene自带的htmlindex Demo在建索引时,会报错:

Parse Aborted: Lexical error at line 63, column 16.   Encountered: "\u987b" (39035), after : ""

究其原因是由于某html文档里的某标签内出现Unicode编码的字符,如出现中文,而导致的。
问题解决
只要修改HtmlParser.jj,就可以解决以上问题:
第一:先下载一个javacc
第二:修改HtmlParser.jj文件的

options { IGNORE_CASE = true; STATIC = false;} 为:

options { IGNORE_CASE = true; STATIC = false; UNICODE_INPUT=true;}

第三:运行javacc HtmlParser.jj

第四:把产生出来的java文件覆盖JavaCC HTML Parser 的源文件
问题衍生

如何让JavaCC HTML Parser支持过滤动态脚本内容% … %呢?

一个简单的方式是:可以把% … %中的内容当作一段html注释处理,这样需要修改htmlparser的注释token定义部分:

COMMENT_START (!– %)   LexComment

COMMENT_END (– ( )   – %)   DEFAULT

分类: java 标签: 3,674 次阅读
原文链接:http://www.wenhq.com/article/view_448.html
欢迎转载,请注明出处:亲亲宝宝