Как я могу переопределить класс в польских двоичных файлах J2ME?

StackOverflow https://stackoverflow.com/questions/237828

  •  04-07-2019
  •  | 
  •  

Вопрос

Я использую компонент пользовательского интерфейса из J2ME Polish.Я нашел простую ошибку в коде и хочу быстро ее исправить, но не могу найти скрипты сборки в загружаемом пакете, хотя исходный код включен.

Проблему невозможно решить путем расширения класса, поскольку в нем участвуют члены с частным доступом.

Как мне это исправить?Должен ли я просто скомпилировать рассматриваемый класс с помощью Javac или попытаться найти сценарий сборки в их репозитории?

Это было полезно?

Решение

Для библиотеки пользовательского интерфейса J2MEPolish нет двоичного кода, поскольку эти классы также предварительно обрабатываются во время компиляции вашего приложения.Вот почему также нет сценария сборки для части пользовательского интерфейса J2MEPolish - полученный двоичный файл, если он скомпилируется, не будет иметь никакого смысла :)

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

Но есть небольшая проблема.Я не уверен на 100%, но процесс сборки польского языка должен быть следующим:сначала ваши классы подвергаются предварительной обработке, а затем будут предварительно обработаны классы польского языка.Если компонент пользовательского интерфейса, который вы скопировали в свой проект, останется в том же Java-пакете, может случиться так, что ваши изменения будут перезаписаны ошибочной польской реализацией.Вы можете проверить это, запустив приложение или просмотрев окончательный Java-код в каталоге сборки.

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

/ЯанусСийм

Другие советы

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

polish.client.source=/projecthome/j2me-polish-source

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

Несмотря на то, что метод JaanusSiim может работать, я бы не стал его рекомендовать, поскольку он вызывает путаницу, имея пакеты de.enough. ** в вашем собственном дереве исходников, но обычно я создаю src для моего личного источника и src-j2mepolish для их исходных файлов, это было ОЧЕНЬ ясно, что я добавил в стандартные версии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top