Java AOT + загрузка классов Java динамически - PullRequest
1 голос
/ 19 мая 2009

Я создаю систему плагинов для своего приложения. Я читал, что любой может распаковать файлы .class, и поэтому я вынужден не использовать компилятор Ahead-Of-Time (верно?). Проблема в том, что мне нужно динамически загружать некоторые классы плагинов. Сейчас я загружаю все файлы .class в папку и вызываю статический метод (я никогда не создаю объект) как систему плагинов.

Могу ли я загрузить эти классы, когда все мои исходные тексты заполнены AOT? Должен ли я подойти к проблеме по-другому? Является ли Java правильным языком для меня?

Ответы [ 3 ]

4 голосов
/ 19 мая 2009

Компиляция с опережением времени не предназначена для блокировки людей от декомпиляции. Я думаю, что вы должны использовать обфускатор для этой цели.

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

2 голосов
/ 19 мая 2009

Таит Ахтар прав. Тебе нужен обфускатор. Вам нужно будет настроить его так, чтобы он не запутывал имена классов и методов, которые ваша программа использует динамически для загрузки и вызова плагинов. То есть общедоступный SPI плагинов не может быть запутан, но их реализации могут.

1 голос
/ 19 мая 2009

Если ваши классы не содержат действительно сверхсекретную функциональность, я бы сказал, бросьте запутывание ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...