Как исправить Netbeans 8.0, не обнаруживающий Java ME - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь настроить NetBeans 8.0 для разработки на Java ME (я знаю, что это устаревшее программное обеспечение, но это единственное из известных мне приложений, которое поддерживает Java ME), однако NetBeans не обнаружит мою платформу Java ME вменеджер платформы в любое время, когда я пытаюсь загрузить его.Вы можете просмотреть эту ошибку здесь .Моя версия Java - 1.8.0_201.Журнал из Java ME SDK выглядит следующим образом:

[2019-02-16 09: 20: 12.444] INFO - lkit.bootstrap.DeployerManager - Регистрация редакторов пользовательских свойств [2019-02-16 09: 20: 12.463] INFO - me.toolkit.bootstrap.Namespace - Начальный пакет, объект-сервер базового модуля [2019-02-16 09: 20: 12.476] INFO - bootstrap.ObjectGraphProcessor - Консолидация зависимостей ... [2019-02-16 09:20: 12.476] INFO - bootstrap.ObjectGraphProcessor - Консолидированные зависимости ... [2019-02-16 09: 20: 12.477] INFO - bootstrap.ObjectGraphProcessor - Расчет порядка ... [2019-02-16 09: 20: 12.477]INFO - bootstrap.ObjectGraphProcessor - Расчетный порядок [2019-02-16 09: 20: 12.494] INFO - un.jme.toolkit.bootstrap.Batch - Инициализация объектов ... [2019-02-16 09: 20: 12.495] INFO- un.jme.toolkit.bootstrap.Batch - Применение I18N [2019-02-16 09: 20: 12.495] INFO - un.jme.toolkit.bootstrap.Batch - Инициализированные объекты [2019-02-16 09: 20: 12.495] INFO - un.jme.toolkit.bootstrap.Batch - вызов методов create () ... [2019-02-16 09: 20: 12.496] INFO- un.jme.toolkit.bootstrap.Batch - вызов методов start () ... [2019-02-16 09: 20: 12.503] INFO - un.jme.toolkit.bootstrap.Batch - объекты запущены [2019-02-16 09: 20: 12.506] INFO - me.toolkit.bootstrap.Namespace - Начальный пакет, базовый модуль, процесс / менеджер устройств [2019-02-16 09: 20: 12.536] INFO - bootstrap.ObjectGraphProcessor - Консолидация зависимостей ...[2019-02-16 09: 20: 12.537] INFO - bootstrap.ObjectGraphProcessor - Консолидированные зависимости ... [2019-02-16 09: 20: 12.537] INFO - bootstrap.ObjectGraphProcessor - Расчет порядка ... [2019-02-16 09: 20: 12.538] INFO - bootstrap.ObjectGraphProcessor - Расчетный порядок [2019-02-16 09: 20: 12.865] INFO - un.jme.toolkit.bootstrap.Batch - Инициализация объектов ... [2019-02-16 09: 20: 12.914] INFO - un.jme.toolkit.bootstrap.Batch - Применение I18N [2019-02-16 09: 20: 12.915] INFO - un.jme.toolkit.bootstrap.Batch - Инициализированные объекты [2019-02-16 09: 20: 12.915] INFO - un.jme.toolkit.bootstrap.Batch - вызов методов create () ... [2019-02-16 09: 20: 12.919] INFO - un.jme.toolkit.bootstrap.Batch - вызов методов start () ... [2019-02-16 09: 20: 12.959] ОШИБКА - sun.kvem.tools.http.HttpServer - java.net.BindException:Адрес, который уже используется: JVM_Bind java.net.BindException: Адрес, который уже используется: JVM_Bind на java.net.DualStackPlainSocketImpl.bind0 (собственный метод) на java.net.DualStackPlainSocketImpl.socketBind (DualStackPlainSocketImpl.java:10).AbstractPlainSocketImpl.bind (AbstractPlainSocketImpl.java:387) на java.net.PlainSocketImpl.bind (PlainSocketImpl.java:190) на java.net.ServerSocket.bind (ServerSocket.java:375) на сервере java.net.SerS.java: 329) на com.sun.kvem.tools.http.HttpServer.createServerSocket (неизвестный источник) на com.sun.kvem.tools.http.HttpServer.run (неизвестный источник)

перепробовал много ответов на многих форумах, включая этот, но ни один из них не сработал.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 16 февраля 2019

Ваша проблема не тривиальна для решения, и это не решение - это скорее обновление для вашей проблемы, поскольку оно слишком велико для комментария:

Первое замечание: причинаОшибка добавления Java ME в качестве платформы в NetBeans показана в трассировке стека: java.net.BindException: Address already in use: JVM_Bind.

Oracle упоминает о возможности получения этого исключения во многих местах в своей документации Java ME . Например, :

7.2.1 Устранение неполадок, связанных с подключением устройства

Если IP-адрес устройства с запущенным экземпляром среды выполнения Java ME Embedded недоступен всоответствующий раскрывающийся список при добавлении соединения с устройством см. в файле журнала диспетчера устройств.Он находится под журналами в каталоге конфигурации Oracle Java ME SDK.

Файл журнала подключений устройств (device-manager.log) содержит ошибки, предупреждения и информационные события, которые вы можете просмотреть, чтобы найти причину.проблемы.Ниже приведены некоторые из распространенных сообщений, с которыми вы можете столкнуться:

WARN - .vmagent.proxy.DeviceDetection - сбой при обнаружении устройства UDP java.net.BindException: Адрес уже используется: Невозможно связать

Причина: Порты обнаружения устройства используются другим приложением на главном компьютере.По умолчанию используются следующие порты: 55208 и 55209.

Действие: Лучшее решение - остановить приложение, использующее эти порты, или настроить его для использования разных портов.Кроме того, вы можете настроить устройство и диспетчер устройств на использование разных портов следующим образом:

  1. Измените порты, указанные в свойствах proxy.udp_device_detection_request_port и proxy.udp_device_detection_response_port в jwc_properties.ini на устройстве..

  2. Создайте файл с именем proxyOptions.txt в каталоге toolkit-lib / lib в каталоге установки Oracle Java ME SDK и добавьте в него следующую строку:

-bcastports <request> <response>

Номера портов <request> и <response> должны соответствовать номерам, указанным в свойствах устройства (см. Шаг> 1).

Поскольку по умолчаниюИспользуемые диспетчером устройств порты 55208 и 55209. Вы можете проверить, используются ли эти порты уже:

  • Открыть окно Командная строка .
  • Отправить netstat -aon | findstr 55208 и netstat -aon | findstr 55209.

Если два вызова на netstat ничего не возвращают, порты доступны.В противном случае эти порты уже используются, и вам необходимо выяснить причину, проверив PID, отображаемые для используемых портов.

В качестве альтернативы просто назначьте разные номера портов, как описано в документации Oracle, показанной выше.Если вы собираетесь это сделать, сначала убедитесь, что новые номера портов доступны, используя netstat.Например, если вы хотите использовать порт 55210, позвоните netstat -aon | findstr 55210.Если никакой другой процесс не использует этот порт, netstat ничего не вернет.


Обновление:

Для меня сработал следующий подход:

  • Выберите Инструменты> Платформы Java> Добавить платформу ...
  • Нажмите кнопку Добавить платформу ... и выберите переключатель ПользовательскийJava ME CLDC Platform Emulator и нажмите Далее> .
  • Нажмите кнопку Обзор ... и перейдите в папку Java ME (например, «... \ Java_ME_platform_SDK_8.0»).
  • Нажмите Далее> затем Далее> затем Готово .

    JavaME

...