|
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 234
|
||||||
Разбить программу на несколько отдельных библиотек16.07.2020, 10:34. Показов 3312. Ответов 5
Метки нет (Все метки)
Привет. Подскажите такую вещь:
Например написали мы небольшой пример на Java. Используем сборщик Maven. И вот теперь хотим разбить его на несколько частей, типа на несколько библиотек. Я так понимаю, это должны быть отдельные jar-файлы в итоге. Чтобы потом мы могли подключать их как обычные зависимости:
В общем я хочу какой-нибудь пример простой погуглить и разобрать. Но не знаю, что именно гуглить. Подскажите, кто разбирается, в каком направлении искать примеры, может ссылку какую-нибудь дадите...... Надо: (1) как разбить маленький проект на отдельные библиотеки. (2) упаковать их в jar-файлы (наверное, точно не знаю). (3) и потом собрать готовый проект, где библиотеки будут добавлены как зависимости в pom-файл. Так вообще можно?
0
|
||||||
| 16.07.2020, 10:34 | |
|
Ответы с готовыми решениями:
5
Разбить запись в ячейке на несколько отдельных столбцов Разбить программу на несколько файлов
|
|
Модератор
|
|
| 16.07.2020, 10:57 | |
|
alex_7, Спрашивается зачем делить маленький проект на отдельные библиотеки? Для начала научиться делить проект на пакеты и модули, что будет куда полезнее. Да и смысл создавать свою библиотеку? Без выгрузки в инет никто кроме тебя воспользоваться никто не сможет. И возникнут проблемы если надо будет менять библиотеку, надо будет пересобирать менять файлы зависимости и тд.
1
|
|
|
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
|
|||
| 16.07.2020, 11:30 | |||
|
1
|
|||
|
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 234
|
|||||||
| 16.07.2020, 17:50 [ТС] | |||||||
|
"Модули" -- не особо понял, что это в данном контексте. Возможно термин "библиотека" я в данный момент немного не верно употребил. Суть в том, что у нас есть проект, и он довольно большой. И надо разбить его на части, чтобы ребята из другого проекта смогли подключать их в своём проекте в pom-файле в разделе dependencies вот в таком виде:
Я думаю, что сходу распилить большой проект у меня не получится, поэтому и решил тут спросить на форуме, может подскажут какие то ссылки и примеры , как это сделать для маленького своего проекта. Ну типа учебный пример где-то может есть. Если надо выложить куда-то в интернет, ну ОК, выложу в интернет. Вы мне подскажите, где я это могу почитать/посмотреть? Я не знаю с чего начать
0
|
|||||||
|
Модератор
|
|
| 16.07.2020, 20:18 | |
|
Под модулями я имел в виду вот это https://habr.com/ru/post/499872/ другие ссылки лень искать)) Я про пакеты и модули говорил в клнтексте первого поста и маленького проекта. Про маленький проект мнения останусь того же, смысла нет делить.
А то что большой проект то надо было сразу об этом писать. Хотя чем тут помочь… имхо это как с делением кода на классы, или проекта на пакеты или модули. Сложно что либо конкретное и полезное советовать. Просто делите проект на обособленные части. Часть должна выполнять похожую группу функций и быть независимой от других частей. И то как вы хотите подключать не реализуемо, в данном случае мавен будет искать у себя на серверах, надо еще в настройках проекта добавлять репозитории где будут ваши библиотек, с этим не сталкивался, помочь не могу. Еще по хорошему код стоит упаковать с исходниками и документацией, на манер других библиотек (не в один jar, а в несколько с соотвествующими именами и структурой). Думаю не надо говорить про создание jar без зависимостей внутри.
1
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 17.07.2020, 13:09 | |
Сообщение было отмечено alex_7 как решение
Решение
Чтобы выделить отдельный функционал в либу, достаточно создать новый проект, положить туда нужные классы и указать в pom.xml что этот проект собирается в джар (<packaging>jar</packaging>)
После запустка mvn clean install можно будет без проблем импортировать эту зависимость во все локальные проекты. Чтобы либа стала доступна другим членам команды, нужно в компании установить artifactory (например), настроить его так, чтобы он проксил мейвен сентрал и всем разработчикам раздать settings.xml, в котором основной репозиторий будет ваш artifactory в локальной сети. Теперь все обычные либы, будут приходить из сентрал и кешится\прокситься на локальном artifactory компании. На этом самом artifactory, надо создать репозитории для внутренних библиотек и деплоить их туда по мере надобности (лучше не руками). Таким образом их смогут подключать все, кто пользуется вашим artifactory PS artifactory выбран для примера. Там может быть nexus или ещё что угодно
2
|
|
| 17.07.2020, 13:09 | |
|
Помогаю со студенческими работами здесь
6
Thread разбить программу в несколько потоков Динамический массив, разбить программу на несколько функций Разбить одну программу на несколько параллельно работающих Разбить программу на файлы, содержащюю несколько публичных структур, перечислений и классов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|