Модуль JDK9 - maven - как импортировать, например, пакет org.apache.http? - PullRequest
0 голосов
/ 12 октября 2018

Работая с модулем JDK9, я использую Apache Http Packge.

Как я могу импортировать эту зависимость "Apache Http" Maven в мой модуль?

В моем файле Maven (с JDK8) у меня есть:

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.4</version>
    </dependency>
</dependencies>

Что мне добавить в мой существующий модуль-info.java?

module module1 {
    // ??? requires org.apache.http;
    exports com.hello;
}

Мой исходный файл содержит код, подобный следующему:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("http://example.org");
request.addHeader("User-Agent", "Chrome");

Настройки в порядке.Без org.apache.http мультимодульное приложение работает нормально.

1 Ответ

0 голосов
/ 13 октября 2018

Предложение @khmarbaise может помочь, конечно: проверка файла module-info.java/class.В этом случае не было файлов информации модуля.

Для этой ситуации я нашел имена модулей через страницу пакета maven , информацию о пакете и новости / изменения .Вы можете найти больше на имя модуля там.Это похоже на автоматический модуль.Правильный?

Другой подход - проверка имен внешних библиотек или файлов JAR.Вы должны использовать имя файла JAR без версии.Таким образом, sqlite-jdbc-version.jar может быть импортирован через файл «требует sqlite.jdbc».

Итак, в моем случае мне пришлось добавить:

module module1 {
    requires httpclient;  // <-- added this line
    requires httpcore;    // <-- added this line
    exports com.hello;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...