HtmlUnit - Невозможно получить дескриптор модуля для xalan-2.7.2.jar

Я новичок в HtmlUnit и действительно во всем, что выходит за рамки стандартной библиотеки java, и я получаю эту ошибку, когда пытаюсь скомпилировать простую программу для печати содержимого веб-страницы.

Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for /Users/***/eclipse-workspace/Research/lib/xalan-2.7.2.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module

Кажется, проблема связана с зависимостью HtmlUnit, но я загрузил все необходимые зависимости и создал справочную библиотеку для своего проекта. Я попытался повторно загрузить ксалан по отдельности, но возникла та же проблема.

Я использую Eclipse 4.15.0, последнюю версию java и jdk, и я написал этот код, чтобы проверить, правильно ли я настроил HtmlUnit.

import java.io.IOException;
import java.net.MalformedURLException;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class cccbdbParser {

    public static void main(String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException {
        // TODO Auto-generated method stub

        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        webClient.getOptions().setJavaScriptEnabled(true);
        HtmlPage page = webClient.getPage("https://cccbdb.nist.gov/expgeom1x.asp");
        String pageContent = page.asText();
        System.out.println(pageContent);

    }

}

Есть какие-нибудь советы, как решить эту проблему? Мне не удалось найти никакой документации об этом исключении в HtmlUnit, похоже, для других оно работает нормально.

Изменить: этот ответ https://stackoverflow.com/a/54682966/13521721 описывает, откуда возникает проблема, но не как это решить. В JAR для модуля xalan версии 2.7.2 класс провайдера не упакован в зависимости. (В пакете org.apache нет пакета bfs и класса BSFManager, что вызывает исключение). Кто-нибудь знает, как это обойти?


person Matt    schedule 12.05.2020    source источник
comment
Как вы включаете зависимости?   -  person ronnyfm    schedule 12.05.2020
comment
@ronnyfm Я создал папку для включения зависимостей файлов jar в свой проект java в Eclipse, а затем настроил путь сборки, чтобы добавить их все в качестве библиотеки, на которую указывает ссылка   -  person Matt    schedule 12.05.2020