Pregunta

Estoy usando Netbeans IDE para un proyecto de Java. En este proyecto, necesito un archivo jar " htmlunit-2.6.jar " ;.

He incluido este archivo jar en la carpeta de bibliotecas del proyecto. He creado una instancia de su clase '' WebClient '' pero esta clase necesita otras clases de "commons-httpclient-3.1.jar" archivo.

Ahora también he incluido "commons-httpclient-3.1.jar" archivo en la carpeta de bibliotecas del proyecto. Pero cuando compilé mi archivo fuente, arroja

ClassNotFoundException: org.apache.commons.httpclient.auth.CredentialsProvider

Por favor, dígame cómo manejar esta situación cuando una clase en un archivo jar necesita otras clases en otro archivo jar.

¿Fue útil?

Solución

Simplemente coloque los archivos jar requeridos en el classpath en tiempo de compilación y debería funcionar. Si lo estuvieras haciendo desde la línea de comandos, se vería así:

javac -cp jar1:jar2 my.Application

Si está utilizando NetBeans , entonces debe decirle a NetBeans que ambos JAR están en su classpath. Será definible en un Proyecto > Asistente de propiedades como se describe aquí y también aquí del tutorial

Otros consejos

La excepción ClassNotFoundException le dice que sus bibliotecas tienen algunas dependencias que no ha incluido en su classpath en tiempo de ejecución. Su fuente está bien, porque si ha usado algo que no está disponible, NB le dirá esto en el momento de la compilación (o antes de la edición).

Así que, bienvenido a la " infierno de dependencia " de java. Para proyectos pequeños, podrá verificar todas las dependencias a mano con archivos Léame, documentos, etc. y ponerlos en la configuración del proyecto como dice oxbow_lakes. Para cosas más grandes, consulte maven . ¡Hará (la mayoría) todo por ti!

(Maven está disponible en NB6)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top