我正在尝试将JavaHelp包含在Eclipse下开发的应用程序中。
我做了以下事情:
将以下库的JAR添加到我的项目类路径(Properties->Java Build Path->Libraries->Add External JARs
):
jh.jar
jhall.jar
jhbasic.jar
jsearch.jar
我尝试创建名为help_folder的文件夹(New->Folder
)和名为help_source_folder的源文件夹(New->Source Folder
),并在其中放入一个名为Master.hs的示例文件(我拿了它来自JavaHelp档案。)
然后从我的应用程序中我做了以下内容:
try {
ClassLoader loader = this.getClass().getClassLoader();
URL url = HelpSet.findHelpSet(loader, "Master.hs");
//alternatively : URL url = HelpSet.findHelpSet(loader, "help_folder/Master.hs");
//alternatively: URL url = HelpSet.findHelpSet(loader, "help_source_folder/Master.hs");
JHelp jhelp = new JHelp(new HelpSet(loader, url));
} catch (HelpSetException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
现在问题如下:无法创建HelpSet对象,因为null
方法返回了findHelpSet()
URL。
我不知道如何解决这个问题。有人能让我朝着正确的方向前进吗?
答案 0 :(得分:1)
确保您创建的文件夹位于项目的源文件夹中(默认为'src')。如果不是那么它在构建项目时不会包含在输出文件夹中(默认为'bin')。
答案 1 :(得分:0)
有两个原因:findHelpSet()方法将返回null:
在类路径中找不到主帮助集文件。当我使用IDE时,它发生在我身上,因为他们将所有类编译成一些工作目录,并且经常“忘记”使用“未知”扩展名复制文件, hs 是一个扩展名,除非您手动将其添加到IDE中,否则很可能是未知的。
它可以找到它,但它无法读取它。这可能是因为一些安全问题。此外,空文件被视为无法读取的文件,这是一个错误的IMO,因此请确保您的主文件中包含一些数据。