Pergunta

Estou usando o NetBeans IDE para um projeto Java. Neste projeto, preciso de um arquivo jar "htmlunit-2.6.jar".

Incluí este arquivo JAR na pasta Bibliotecas do Projeto. Eu instanciei um de sua classe "webclient", mas essa classe precisa de outras classes do arquivo "Commons-httpclient-3.1.jar".

Agora também incluí o arquivo "Commons-httpclient-3.1.jar" na pasta Bibliotecas do Projeto. Mas quando eu compilei meu arquivo de origem, ele joga

ClassnotfoundException: org.apache.commons.httpclient.auth.credentialsprovider

Por favor, diga -me como lidar com essa situação quando uma classe em um arquivo JAR precisa de outras classes em outro arquivo JAR.

Foi útil?

Solução

Basta colocar os arquivos JAR necessários no caminho de classe em tempo de compilação e deve funcionar. Se você estivesse fazendo isso da linha de comando, ficaria assim:

javac -cp jar1:jar2 my.Application

Se você está usando NetBeans Então você precisa contar NetBeans que ambos os frascos estão no seu caminho de classe. Será definível em um Projeto> Propriedades bruxo conforme descrito aqui e também Aqui do tutorial

Outras dicas

O ClassNotFoundException informa que suas bibliotecas têm algumas dependências que você não incluiu no seu caminho em tempo de execução. Sua fonte está OK, porque se você já usou algo não disponível, o NB dirá isso no horário de compilação (ou antes da edição).

Então, bem -vindo no "Dependência inferno"De Java. Para pequenos projetos, você poderá verificar todas as dependências manualmente com arquivos de leitura, documentos, etc. e colocá -los na configuração do projeto, como disse oxbow_lakes. Para coisas maiores. Maven. Isso fará (a maioria) tudo para você!

(Maven está disponível no NB6)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top