我需要使用 JavaHelp 包为我的应用程序生成帮助系统。我已经从 github 存储库下载了该项目,并使用 GNU make 工具和 JDK 1.8 上的 Apache ant 对其进行了编译。我设法生成了我的帮助系统。
问题来自使用 jhindexer 工具生成术语数据库以执行搜索。根据文档,只需在脚本中执行或直接 jar jhindexer 并指明 .html 文件所在的目录。
When executing the tool I get the following error:
~/Downloads: jhindexer JavaHelp
Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:418)
at com.sun.java.help.search.RAFFileFactory.get(RAFFileFactory.java:87)
at com.sun.java.help.search.BlockManager.<init>(BlockManager.java:87)
at com.sun.java.help.search.BtreeDict.init(BtreeDict.java:212)
at com.sun.java.help.search.FullBtreeDict.<init>(FullBtreeDict.java:343)
at com.sun.java.help.search.DefaultIndexBuilder.<init>(DefaultIndexBuilder.java:79)
at com.sun.java.help.search.Indexer.compile(Indexer.java:197)
at com.sun.java.help.search.Indexer.main(Indexer.java:86)
错误发生在这一行,我尝试进行更改,但无法将它们应用于最终编译。
if (isFileURL(url)) {
try {
File f = new File(url.toURI());
// refactor so it runs with verification on...
// Object o = new FilePermission(f, update ? "write":"read");
// here -- check if AccessController.checkPermission(p);
result = new RAFFile(f, update);
debug ("Opened Dict file with file protocol:" + f);
} catch (SecurityException e) {
// cannot do "it" -- code is not yet in place
} catch (URISyntaxException x) {
throw (IOException) new IOException(x.toString()).initCause(x);
}
我已经针对 JDK 1.6 进行了编译,同样的错误也发生了。有谁知道我如何操作这个工具?太感谢了。