NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Если вы добавили свой сайт в «Местная интрасеть» в
Chrome > Options > Under the Hood > Change Proxy Settings > Security (tab) > Local Intranet/Sites > Advanced.
Добавьте здесь URL-адрес сайта, и он будет работать.
Обновить для Новая версия Chrome
Chrome > Settings > Advanced > Open Proxy Settings > Security (tab) > Local Intranet > Sites (button) > Advanced.
Несмотря на то, что ответ moopasta работает, он, похоже, не дает подстановочных знаков, и есть другой (потенциально лучший) вариант. В проекте Chromium имеется некоторая документация по HTTP-аутентификации , которая является полезной, но неполной.
В частности, вариант, который я нашел лучше всего, - это белые списки сайтов, которые вы хотели бы разрешить Chrome передавать данные аутентификации вы можете сделать это:
auth-server-whitelist
. например --auth-server-whitelist="*example.com,*foobar.com,*baz"
. Спад к этому подходу заключается в том, что открытие ссылок из других программ приведет к запуску Chrome без переключения командной строки. AuthServerWhitelist
/ «Белый список сервера аутентификации» Групповая политика или локальная групповая политика. Это похоже на самый стабильный вариант, но требует больше работы для настройки. Вы можете установить это локально, не нужно, чтобы это удаленное развертывание. Те, кто хочет настроить это для предприятия, могут, вероятно, следовать указаниям по использованию Групповой политики или консоль администратора , чтобы настроить политику AuthServerWhitelist
. Те, кто хочет настроить это для одной машины, могут также следовать инструкциям Group Policy :
Start > Run > gpedit.msc
Local Computer Policy > Computer Configuration > Administrative Templates
Administrative Templates
и выберите Add/Remove Templates
windows\adm\en-US\chrome.adm
в диалоговом окне Computer Configuration > Administrative Templates > Classic Administrative Templates > Google > Google Chrome > Policies for HTTP Authentication
включить и настроить Authentication server whitelist
chrome://policy
, чтобы просмотреть активные политики HKLM\Software\Policies\Google\Chrome\AuthServerWhitelist
добавьте AuthServerWhitelist(string):"*example.com,*foobar.com,*baz"
. Раздражающе, в моем случае, мои парни инфраструктуры добавили это, используя GP с 1 единственным сервером, который вызвал каждый другой i> сайт интрасети, чтобы спросить меня. Удаление этой клавиши устранило проблему
– Rhumborl
12 January 2015 в 11:04
Chrome изменил свое меню, так как этот вопрос был задан. Это решение было протестировано с Chrome 47.0.2526.73 до 63.0.3239.132.
Если вы используете Chrome прямо сейчас, вы можете проверить свою версию с помощью: chrome: // version
Вот и все.
В дополнение к настройке записи реестра для AuthServerWhitelist вы также должны установить AuthSchemes: «ntlm, negotiate» (или просто «ntlm» в зависимости от ситуации). Используя приведенные выше шаблоны, политика для этого будет «Поддерживаемые схемы аутентификации»