powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключать плагины к Java-приложению
21 сообщений из 21, страница 1 из 1
Как подключать плагины к Java-приложению
    #39538711
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Нужно написать приложение на Java c GUI и возможностью подключать плагины. Причём при подключении все изменения должны применяться сразу, без перезапуска программы (то есть надо, чтобы можно было сразу работать с этим плагином). И пока я даже не знаю, как это делать, в какую-то сторону копать.

И ещё одно. При подключении плагина будет меняться главная форма программы (там кнопки новые будут появляться, поля, и прочее). Можете подсказать, как лучше всего это сделать. Вроде слышал о методе repaint(), он подойдёт?

ЗЫ Сторонние библиотеки использовать нельзя, только базовые, что есть в Джаве.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538718
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichв какую-то сторону копать.
Рядом тема про вьювер таблиц в бд.
С неё начните.
Потом кнопку в файл и из файла.
А потом заказчик откажется.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538721
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichЗЫ Сторонние библиотеки использовать нельзя, только базовые, что есть в Джаве.
лолшто? Вообще Eclipse RPC вполне подходит. Но что вы там сами собирались за велосипед изобретать - сказать сложно. Можно скрипты применить. Можно и самому плагины напедалировать, но если вы не знаете как, то и сделать просто у вас не выйдет.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538723
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichВроде слышал о методе repaint(), он подойдёт?
Требования к вашей задаче слегка не кореллируют с вашими знаниями Java.
Метод repaint() не подойдёт и к вашей проблеме вообще никакого отношения не имеет.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538733
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczMaxLichЗЫ Сторонние библиотеки использовать нельзя, только базовые, что есть в Джаве.
лолшто? Вообще Eclipse RPC вполне подходит. Но что вы там сами собирались за велосипед изобретать - сказать сложно. Можно скрипты применить. Можно и самому плагины напедалировать, но если вы не знаете как, то и сделать просто у вас не выйдет.

Вроде бы есть еще OSGI, но не уверен, что оно еще живое.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538735
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Точно. В иклипсе из коробки.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538744
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это тестовое задание. На джава джуниора.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538750
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichЭто тестовое задание. На джава джуниора.
Ну, либо вы что-то не так поняли в деталях, либо не выяснили нюансов. Но на джуниора не похоже.
Какая функциональность плагинов?
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538762
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLich,

Возможно, есть смысл на SPI посмотреть
https://docs.oracle.com/javase/tutorial/ext/basics/spi.html#limitations-of-the-service-loader-api
Пример, но он не красивый в методе extendClasspath() - так не делают.
https://stackoverflow.com/questions/16102010/dynamically-loading-plugin-jars-using-serviceloader

Можно на каждый плагин заводить загрузчик
https://stackoverflow.com/questions/15204913/how-to-add-an-external-jar-file-to-the-classpath-dynamically-at-runtime
Можно написать свой загрузчик, в который можно добавлять плагины
https://docs.oracle.com/javase/tutorial/deployment/jar/jarclassloader.html

Стоит упомянуть, что добавление плагинов, это не единственная проблема. Их корректное удаление на горячую тоже ещё то веселье.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538764
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLich,

Если функциональность у плагинов примитивная, возможно, есть смысл их писать на JavaScript
http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538822
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichЭто тестовое задание. На джава джуниора.
Тогда я бы смотрел на наличие Моска.
Т.е. сохранил кнопку в файл плагин и прочитал.
Без библиотек. Сериализация.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538895
zudver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще есть beanshell
можно на ходу закидывать код из файла в интерпретатор
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538918
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, Это простейший калькулятор. Плагины должны реализовывать разные операции над числами.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538921
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichBlazkowicz, Это простейший калькулятор. Плагины должны реализовывать разные операции над числами.
Тогда JavaScript - очевидное и простейшее решение.
Заводишь каталог с плагинами. Мониторишь его
https://docs.oracle.com/javase/tutorial/essential/io/notification.html
новые скрипты - запускаешь
результат запуска обрабатываешь в нужные тебе данные
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538922
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Уточнил про удаление плагинов - такое не требуется реализовывать (то есть по желанию).
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538924
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Ну загружать плагины можно по нажатию кнопки. Как бы это не проблема.
Но по поводу ДжаваСкрипта - не знаю, в задании говорилось о чистом Java SE.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39538935
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichНу загружать плагины можно по нажатию кнопки. Как бы это не проблема.

:)

MaxLichНо по поводу ДжаваСкрипта - не знаю, в задании говорилось о чистом Java SE.
https://docs.oracle.com/javase/7/docs/api/javax/script/ScriptEngine.html
Такое ощущение что я вас должен уговаривать. Делайте как хотите. Самые простые варианты я уже привел.

https://www.javaworld.com/article/2071777/design-patterns/add-dynamic-java-code-to-your-application.html
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39539141
mars478
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В свою бытность студентом я в одном из курсачей делал подключение кастомной математической логики к свинговому приложению через обычные классы скомпиленные и реализующие определенный интерфейс: в нужный момент открывалось диалоговое окно, человек руками выбирал нужный ему .class (автоматизировать нельзя было, ибо не все модули всегда были нужны и важен порядок, определяемый оператором). Помнится, веб версию я тогда не довел до конца из-за геммороя с класслоадером (в версии под j2ee я тогда с томкатом помучался и не победил его), но в j2se с гуем на свинге все прошло гладко.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39539146
mars478
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, вот этот "калькулятор" для нечеткой логики - весело и грустно одновременно на это смотреть сейчас, но "плагины" работают https://habrahabr.ru/post/136227/
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39539155
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mars478кстати, вот этот "калькулятор" для нечеткой логики - весело и грустно одновременно на это смотреть сейчас, но "плагины" работают https://habrahabr.ru/post/136227/
Там по сути - динамической загрузке в рантайме ничего нет.
...
Рейтинг: 0 / 0
Как подключать плагины к Java-приложению
    #39539355
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLich,

URLClassLoader вам нужен - он позволяет загрузить jar-файл в произвольный момент времени. Почитайте про класслоадеры, наверное автор задания именно их и имел в виду.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключать плагины к Java-приложению
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]