JavaHelp (Problema com ClassLoader)

2 respostas
B

Galera,

Tenho o seguinte código para abrir um help, que está dentro de um jar adicionado a minha aplicação.

public void abreHelp() {
	   String helpHS = "Help.hs";
	    HelpSet hs;
	    HelpBroker hb;
	    ClassLoader cl = this.getClass().getClassLoader();
	    try
	    {
	        //procura caminho do help através do ClassLoader
	        URL hsURL = HelpSet.findHelpSet(cl, helpHS);
	        //sabendo o caminho do helpset cria um objeto HelpSet
	        hs = new HelpSet(null, hsURL);
	    }
	    catch (Exception e)
	    {
	        //Se não achar o arquivo helpset informa o erro
	        System.out.println("HelpSet " + e.getMessage());
	        System.out.println("HelpSet " + helpHS + " não localizado");
	        return;
	    }
	    // Com o objeto HelpSet criado manda criar o Help.
	    hb = hs.createHelpBroker();
	    //Exibe o help para o usuário com as dimensões totais da tela
	    Dimension ds = Toolkit.getDefaultToolkit().getScreenSize();
	    hb.setSize(ds);
	    hb.setDisplayed(true);
	}

Curiosamente funcionava tranquilo com o netbeans, mas no eclipse dá a exceção java.lang.NoClassDefFoundError: javax/help/HelpSet. O arquivo Help.hs não está em nenhum pacote, ele está na raiz do help.jar.

Alguém poderia me ajudar?

2 Respostas

davidbuzatto

Olá.

O HelpSet não é uma classe padrão da API do Java. No NetBeans o seu projeto deve ter a biblioteca do JavaHelp associada a ele. Vc precisa fazer a mesma coisa para o seu projeto do Eclipse.

Até mais!

B

Olá davidbuzatto,

Mas eu adicionei todos os jars referentes ao JavaHelp na minha aplicação. Também pensei que estaria faltando algum, mas adicionei todos só para confirmar.

Mas valeu pela ajuda. Alguma outra sugestão do que possa ser?

Criado 19 de dezembro de 2007
Ultima resposta 19 de dez. de 2007
Respostas 2
Participantes 2