О проекте Возможности JDK 8 Быстрый старт FAQ Скачать
v1.1.0.0 · MIT License · Open Source

Код, который
пережил десятилетия

Графическая утилита для разработки, сборки и управления проектами под платформу J2ME/MIDP/CLDC. Мост между эпохой кнопочных телефонов и современной разработкой.

J2 J2ME_Builder — □ × Справка { J2ME Builder } J2ME_Builder Версия 1.0.0.0 // Автор: Ramzayev Hermann Выход Открыть проект Собрать проект Создать проект Скачать JDK 1.8.0 Открыть предыдущий проект
Когда-то два мегабайта памяти были целым миром. Сегодня мы возвращаемся к истокам — не из ностальгии, а из уважения к коду, который научил миллионы людей любить программирование.
— Эпоха, которую стоит помнить
О проекте

Инструмент для тех,
кто помнит

J2ME Builder — графическая утилита с открытым исходным кодом для разработки, сборки и управления проектами под платформу Java 2 Micro Edition.

Идея создания программы возникла благодаря увлечению автора коллекционированием классических кнопочных телефонов и желанием писать для них собственные приложения. Инструмент призван упростить процесс разработки под устаревшую, но всё ещё интересную платформу.

<> Main.java — J2ME Project — □ × Main.java × 1 2 3 4 5 6 7 8 9 10 11 12 package com.test; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class test extends MIDlet public void startApp () { display = Display.getDisplay( this ); form = new Form ( "test" ); form.append( "Hello from test!" ); display.setCurrent(form); }
Каждая строка кода — это мост. Между прошлым и будущим. Между телефоном в кармане и компьютером на столе. Между тем, что было, и тем, что ещё может быть.
— О связи поколений разработчиков
Возможности

Всё для J2ME-разработки
в одном инструменте

От создания проекта до готового JAR-файла. Один инструмент вместо десятка утилит командной строки.

01

Создание проектов

Готовый шаблон с правильной структурой папок, настройками VS Code и базовым MIDlet-классом

02

Автоматическая сборка

Компиляция, преверификация и упаковка в JAR/JAD одной кнопкой с подробным логом в реальном времени

03

Библиотеки JSR

Подключение Bluetooth (JSR-82), Media, Messaging и других API через удобный интерфейс

04

Иконки приложений

Встраивание PNG-иконок прямо в MIDlet для красивого отображения на телефоне

05

Встроенный установщик JDK 8

Автоматическая загрузка и установка OpenJDK через ojdkbuild — не нужно искать вручную

06

Проверка обновлений

Автоматический поиск новых версий на GitHub API с уведомлением о релизах

07

Интеграция с VS Code

Открытие проекта в современном редакторе одним кликом из интерфейса Builder

08

Двуязычный интерфейс

Русский и английский языки — переключайтесь в настройках программы

09

История проектов

Список недавних проектов с быстрым доступом, двойным кликом и контекстным меню

Аудитория

Для кого этот
проект

J2ME Builder создан для тех, кто хранит тепло к эпохе кнопочных телефонов

Ретро-разработчики

Энтузиасты, пишущие игры и приложения под J2ME

Коллекционеры

Владельцы Nokia, Sony Ericsson, Samsung и других классических аппаратов

Исследователи

Изучающие историю мобильной разработки и эволюцию платформ

Преподаватели

Демонстрирующие студентам, с чего начиналась мобильная индустрия

Требования

Системные
требования

Компонент Версия Статус Примечание
Операционная система Windows 7/8/10/11 (x86/x64) Обязательно WinForms приложение
.NET Framework 4.7.2 или выше Обязательно Проверка через reg query
Java JDK 1.8.0_XXX (строго!) КРИТИЧНО Должен содержать bin\javac.exe, bin\jar.exe
Visual Studio Code 1.60+ Для редактирования кода
Критично

Только Java
1.8.0

Это критическое требование платформы. Другие версии не поддерживаются.

Почему именно JDK 1.8.0?

Компонент Требование Причина
javac -source 1.3 -target 1.1 JDK 9+ удалил поддержку генерации байт-кода версии 1.1, необходимого для CLDC
preverify.exe Формат class ≤ JDK 1.4 Утилита из Wireless Toolkit не распознаёт новый формат байт-кода
bootclasspath Подмена rt.jar В новых JDK механизм работает иначе и вызывает конфликты
Устройства Проверка версии class Реальные телефоны отвергают классы с версией > 45.3 (Java 1.1)

НЕ ПОДОЙДЁТ:

  • Java 7 (jdk1.7.x) — устаревший, проблемы с кодировкой
  • Java 11, 17, 21+ — ошибка: "invalid target release: 1.1"
  • JRE (Java Runtime) — не содержит javac.exe, jar.exe
  • Графические установщики с "обновлённой" версией

ПОДОЙДЁТ:

  • ojdkbuild — используется во встроенном загрузчике (рекомендуется)
  • Oracle JDK 1.8.0_XXX
  • Adoptium Temurin 8
  • Azul Zulu 8
  • Amazon Corretto 8
  • Liberica JDK 8 (BellSoft)
# Проверка установки:
> java -version
java version "1.8.0_XXX"
> javac -version
javac 1.8.0_XXX
# Важно: Обе команды должны показывать 1.8.0_XXX
Источники

Где скачать
JDK 1.8.0

Официальные и доверенные репозитории

Adoptium Temurin 8

Открытая лицензия, регулярные обновления безопасности

adoptium.net

Azul Zulu 8

Коммерческая поддержка, LTS-версии

azul.com

Amazon Corretto 8

Бесплатная дистрибуция от AWS

aws.amazon.com/corretto

Liberica JDK 8

От BellSoft, полная совместимость

bell-sw.com

Oracle JDK 8 (архив)

Требуется аккаунт Oracle

oracle.com
Быстрый старт

Начните за
5 минут

От скачивания до первого собранного JAR-файла

Скачайте релиз

Загрузите последнюю версию из раздела Releases на GitHub и распакуйте в удобную папку

Установите JDK 8

Используйте встроенный загрузчик (Form5) на базе ojdkbuild — это рекомендуемый способ

Создайте проект

Нажмите «Создать проект», укажите имя и папку. Откроется VS Code с шаблоном MIDlet

Соберите JAR

Вернитесь в Builder, нажмите «Собрать проект» — готовый файл в папке build/

FAQ

Частые
вопросы

Почему нельзя использовать более новую версию Java?
Виртуальная машина старых телефонов (CLDC 1.1) понимает только байт-код версии 1.1, который могут генерировать только компиляторы до JDK 8 включительно. При компиляции javac -target 1.1 генерирует class-файл с major version: 45. ВМ на телефоне проверяет эту версию при загрузке. Если версия выше (например, 55 для Java 11), загрузка прерывается с ошибкой Unsupported class version. Начиная с JDK 9, javac удалил поддержку -target ниже 1.6.
Можно ли собрать приложение для современного Android?
Нет. J2ME и Android — разные платформы с несовместимыми ВМ, API и форматами пакетов.

Альтернативы:
• Для запуска старых игр на Android: J2ME Loader
• Для портирования логики: переписать код на Java для Android
• Для кроссплатформенной разработки: Codename One
Как отлаживать приложение на реальном устройстве?
1. Передайте .jad + .jar на устройство (через USB, карту памяти, Bluetooth или OTA)
2. На телефоне откройте файловый менеджер и запустите .jad-файл
3. Для отладки: выводите логи через System.out.println() (на некоторых устройствах попадают в системный лог)
4. Используйте визуальные подсказки: текст на экране, вибрация

Предупреждение: Не все эмуляторы точно воспроизводят поведение реальных устройств.
Как добавить поддержку новых библиотек (JSR)?
1. Получите библиотеку (официальные спецификации: jcp.org)
2. Поместите .jar в папку res/ рядом с J2MEBuilder.exe
3. Обновите список knownLibs в Form2.cs для авто-обнаружения
4. Протестируйте: создайте проект с новой библиотекой и убедитесь, что компиляция и преверификация проходят без ошибок
Ошибка "JDK 8 не найден!"
Диагностика:
> where javac
> javac -version
> echo %JAVA_HOME%
Решение:
• Установите JDK 1.8.0 (не JRE!)
• Настройте JAVA_HOME и PATH
• Или используйте встроенный загрузчик в окне "О программе" (рекомендуется ojdkbuild)
Ошибка "invalid target release: 1.1"
Причина: Используется JDK 9+ вместо 1.8.0

Решение:
• Убедитесь, что в PATH приоритет у JDK 8
• Временно: set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_XXX
Скачать

Готовы создать своё первое
J2ME-приложение?

Скачайте последнюю версию и присоединяйтесь к сообществу ретро-разработчиков