Автоматическое создание скелетов и прокси из Java-интерфейсов во время компиляции - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть набор интерфейсов, которые предоставляются другим человеком.Мне нужно генерировать классы Proxy и Skeleton для каждого из этих интерфейсов либо при запуске приложения, либо при компиляции (не уверен, какой из них имеет больше смысла).

Я полагаю, что мне нужно сделать это: я получу методы и аргументы из предоставленных интерфейсов, используя отражение.Затем на основе этих данных мой класс Generator сгенерирует код прокси и скелетов в виде файлов .java.После того, как я сгенерировал этот код, мне нужно скомпилировать его в файлы .class (используя SystemJavaCompiler).И теперь мне нужно сделать эти классы Proxy и Skeleton доступными для использования в приложении.

Я не уверен в следующем: как сделать эти классы частью приложения так же, как и все классы, которые я написал до запуска / компиляции.

Я кое-что прочитал оЯ пишу свой собственный ClassLoader, но я не знаю, правильный ли это путь.Я не знаю, что еще искать в Google.

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

1 Ответ

0 голосов
/ 09 декабря 2011
  1. Если они вам нужны для RMI, они устарели.Теперь нет необходимости в Proxy и Skeletons, просто используйте интерфейсы

  2. , если нет, лучше сгенерируйте * .java файлы в какую-нибудь папку src\main\generated перед компиляцией (в Maven есть фаза-sources ') и пусть javac компилирует сгенерированные * .java файлы как обычные классы.

...