如何调试ClassLoader无法在Java中查找文件

时间:2011-05-19 16:24:20

标签: java classloader javahelp

我正在尝试将JavaHelp系统集成到使用Eclipse开发的项目中。 我从example

中提取了以下代码
private HelpSet getHelpSet(String helpsetfile) {
        HelpSet hs = null;
        ClassLoader cl = this.getClass().getClassLoader();

        try {
            URL hsURL = HelpSet.findHelpSet(cl, helpsetfile);

            hs = new HelpSet(null, hsURL);
        } catch(Exception ee) {
            System.out.println("HelpSet: "+ee.getMessage());
            System.out.println("HelpSet: "+ helpsetfile + " not found");
        }
        return hs;
    }


HelpSet hs = getHelpSet("doc/Sample.hs.txt");

无法找到HelpSet文件,但存在(doc / Sample.hs.txt)。我认为路径或ClassLoader使用有问题,但我无法弄清楚问题是什么。 有没有人有想法?

提前致谢

2 个答案:

答案 0 :(得分:2)

hs = new HelpSet(null, hsURL);

HelpSet-Class获取null而不是ClassLoader实例,因此无法加载任何内容。这应该是:

hs = new HelpSet(cl, hsURL);

答案 1 :(得分:1)

.hs.txt扩展名不起作用。尝试给你的帮助集.hs扩展名。