Является ли systemProp.https.nonProxyHosts допустимым параметром для Gradle? - PullRequest
1 голос
/ 30 апреля 2020

Недавно я столкнулся с некоторыми проблемами при настройке параметров прокси-сервера для проекта Gradle ... в частности, с systemProp.https.nonProxyHosts.

Изучая документацию Gradle этот параметр: systemProp.https.nonProxyHosts = *.nonproxyrepos.com|localhost допустимо, но в разделе Networking Properties из Java SDK указано, что systemProp.https.nonProxyHosts не существует, и вместо него будет использоваться брат, не являющийся https.

Итог: systemProp.https.nonProxyHosts не работал для меня. Как только я удалил эту строку, скрипт сработал (я несколько раз тестировал его включение / выключение).

Так что кто-нибудь может подтвердить, устарел ли он в документации Gradle или Gradle действительно использует его, и отображает их внутренне, но у версии, которую я использовал (Gradle 6.1.1), была ошибка в этом отношении? Есть ли задача (или что-то похожее по умолчанию) для проверки / визуализации, если Gradle действительно подключается через HTTP или HTTPS, чтобы я мог подтвердить, что он работает как задумано?

1 Ответ

2 голосов
/ 30 апреля 2020

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

, но в разделе Сетевые свойства из Java SDK говорится, что systemProp.https.nonProxyHosts делает не существует, и вместо него будет использоваться брат, не являющийся https.

Во-первых, это действительно так. Для справки, DefaultProxySelector в JDK 8 гласит:

static class NonProxyInfo {
    static final String defStringVal = "localhost|127.*|[::1]|0.0.0.0|[::0]";

    static NonProxyInfo httpNonProxyInfo = new NonProxyInfo("http.nonProxyHosts", null, null, defStringVal);
}

public java.util.List<Proxy> select(URI uri) {
    //....
    } else if ("https".equalsIgnoreCase(protocol)) {
        // HTTPS uses the same property as HTTP, for backward
        // compatibility
        pinfo = NonProxyInfo.httpNonProxyInfo;
    }
    //....
}

Так что любой может подтвердить, устарел ли он в документации Gradle или действительно использует Gradle, и отображает их внутренне , но версия, которую я использовал (Gradle 6.1.1), имела ошибку в этом отношении?

Gradle действительно читает https.nonProxyHosts и отображает ее внутри. См. JavaSystemPropertiesSecureHttpProxySettings для получения дополнительной информации. Я не знаю ни о каких ошибках. Последнее релевантное изменение в журнале фиксации было в 2014 году. Это свойство используется, например, при разрешении зависимостей из удаленных репозиториев Maven.

Существует ли задача (или что-то подобное по умолчанию) для тестирования / визуализации, если Gradle действительно соединяется через HTTP или HTTPS, так что я могу подтвердить, что он работает как задумано?

Я не знаю ни о какой задаче, будь то встроенной или предоставленной сторонними плагинами. Вы можете получить более подробную информацию о том, что происходит, проверив вывод --info и --debug.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...