Пространство "кучи" Java в netbeans.. но я уже увеличил размер "кучи"!

http_error (на самом деле из библиотеки httr) - очень простая функция: она загружает URL, заданный символом (http_error.character), извлекает ответ (http_error.response) и, в конечном счете, смотрит на код ответа (http_error.integer). Если код ответа - >=400, функция возвращает TRUE, в противном случае - FALSE.

Что говорит ваша ошибка, так это то, что вы (или любая функция в вашей цепочке) пытается вызвать http_error для объекта simpleError. Я предполагаю, что ваши настройки брандмауэра блокируют запрос. Поскольку запрос заблокирован, базовый httr::RETRY (который вызывается из oadoi_fetch) возвращает ошибку вместо правильного объекта ответа, и http_error видит только этот объект ошибки и разрывает.

Если я локально отключаю свой прокси (через который я могу делать запросы), я также получаю сообщение об ошибке:

library(roadoi)
Sys.unsetenv(c("HTTP_PROXY", "HTTPS_PROXY"))
oadoi_fetch("10.1038/nature12373", email = "name@whatever.com")
# Error in UseMethod("http_error") : 
#   no applicable method for 'http_error' applied to an object of class
#   "c('simpleError', 'error', 'condition')"

Как только мой прокси настроен правильно, я получаю

[ 111]

Если проблема действительно заключается в прокси, я бы попробовал следующее, что помогло мне на моей корпоративной машине с Windows, но может зависеть от ваших локальных настроек ИТ:

## get the proxy settings
system("netsh winhttp show proxy")
Sys.setenv(HTTP_PROXY = <the proxy from netsh>, HTTPS_PROXY = <the proxy from netsh>)

[1122 На самом деле, вы можете легко воспроизвести ошибку:

httr::http_error(simpleError("Cannot reach the page"))
# Error in UseMethod("http_error") : 
#   no applicable method for 'http_error' applied to an object of class 
#   "c('simpleError', # 'error', 'condition')"
15
задан 1 April 2009 в 13:56
поделиться

5 ответов

Я думаю, что Вы просто настроили максимальный размер "кучи" самого netbeans IDE и не Вашей программы.

Перейдите к своим "свойствам" проекта, выберите категорию "Run". В "VM Options" текстовое поле поместило Ваши аргументы (-Xmx512m).

22
ответ дан 1 December 2019 в 02:46
поделиться

Проверьте эту ссылку для справки NetBeans на установке свойств проекта и в особенности свойств для выполнения проекта.

Опции VM состоят в том, где необходимо добавить-Xmx512m

1
ответ дан 1 December 2019 в 02:46
поделиться

Я полагаю, что редактирование netbeans.conf только изменяет максимум JVM, которая работает, IDE может использовать. Необходимо будет изменить конфигурацию проекта для программы (Поскольку она, вероятно, выполняет в другом Java VM).

1
ответ дан 1 December 2019 в 02:46
поделиться

попробуйте Инструменты -> Серверы -> на вкладке Платформа под платформой Java есть вариант VM.

2
ответ дан 1 December 2019 в 02:46
поделиться

Параметры виртуальной машины - это то место, где вам нужно добавить -Xmx512m .....

, а также -Xms512m

, поскольку:

-Xms512m -> начальный размер кучи Java -Xmx512m -> максимальный размер кучи Java

, поэтому в вашем случае вы должны добавить: -Xmx512m -Xms512

в текстовом поле параметров виртуальной машины ....

0
ответ дан 1 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: