java Как решить проблему ava.lang.reflect.InvocationTargetException Caused by: java.lang.NoClassDefFoundError
У меня возникла проблема во время написания кода парсера страницы через htmlUnit. Код класса парсера:
package com.example.myfirstapp;
import org.htmlunit.WebClient;
import org.htmlunit.html.HtmlAnchor;
import org.htmlunit.html.HtmlDivision;
import org.htmlunit.html.HtmlPage;
import java.io.IOException;
import java.util.List;
public class AppParser {
public static void xpath() {
try {
WebClient webClient = new WebClient(); // показывает что ошибка тут
HtmlPage page = null;
page = webClient.getPage("http://htmlunit.sourceforge.net");
final List<?> divs = page.getByXPath("//div[@data-qa='professions-drop-desktop ']");
webClient.close();
divs.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
e.getCause();
}
}
}
Метод вызывается из основного класса Main так: AppParser.xpath();
Код ошибки:
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at javafx.graphics@20-ea/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:465)
at javafx.graphics@20-ea/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1081)
Caused by: java.lang.NoClassDefFoundError: org/apache/http/client/CredentialsProvider
at com.example.myfirstapp/com.example.myfirstapp.AppParser.xpath(AppParser.java:14)
at com.example.myfirstapp/com.example.myfirstapp.MajesticManager.main(MajesticManager.java:29)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.CredentialsProvider
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 9 more