|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
Среда разработки: Java 1.8, Maven, IntelliJ IDEA Есть несколько проектов ( project1 , project2 ,...), которые используют одинаковые классы. Эти классы из одинаковых хочется 1) Сделать едиными и вынести их в отдельное место (директорию, проект, библиотеку - lib ), доступное каждому проекту projectX . 2) При этом файлы lib.java должны быть модифицируемыми, как и собственные файлы проектов, т.е. при сборке проекта projectX измененные файлы lib.java компилировались бы и попадали в сборку со всеми последними правками. Вот здесь хорошо рассказано, как с помощью maven создать и подключить свою библиотеку. Но это получится бинарная библиотека lib.class . Чтобы обновлять поведение её классов, её нужно каждый раз пересобирать в виде отдельного проекта и отправлять в местный репозитарий, что есть весьма неудобно. Как сделать так, чтобы было можно было разрабатывать projectX и параллельно в том же открытом проекте редактировать исходники lib.java ? Как вообще такая задача решается в Java стандартным образом? Я новичок в Java , пришел из Delphi . В Delphi эта задача элементарно решается добавлением в sourcepath проекта всех нужных путей с исходниками. У Java тоже есть sourcepath , но непонятно, как и где его расширять, тем более на каталоги, внешние по отношению к проекту. Заранее спасибо за все советы! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 20:35 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
shalamyansky, Стандартный путь - maven repository. А так, сюда ещё надо навернуть CI/CD, рекомендую gitlab. Грубо говоря, вносите изменения в библиотеку, и она по пайплайну автоматически публикуется в maven repository. Конечно все это предварительно надо настроить. И это не совсем просто, как хотелось бы. Можно "проще" Создаете maven проект типа POM Туда,как модули добавляете нужные вам проекты библиотек и приложения. Не забудьте прописать зависимости в проектах от библиотеки-модуля. Теперь, по идее при сборке приложения будет собираться и модуль библиотеки. Т.к. Java это "Кровавый Ынтыпрайз", то инфраструктура разработки здесь достаточно сложная. Т.к. рассчитана на команды в сотни человек, где каждый пилит свой маленький кусочек. Поэтому инструменты такие "монструозные". И тут либо вы научитесь ими пользоваться, либо вам будет тяжело. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 07:51 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
shalamyansky, Можно тут как в дельфи. Для этого убрать мавен и собирать через IDE. А в иде - компилировать все и или конкретный проект ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 09:55 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp shalamyansky, Можно тут как в дельфи. Для этого убрать мавен и собирать через IDE. А в иде - компилировать все и или конкретный проект так делать не нужно, будет плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 20:05 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
shalamyansky, ты можешь сделать много проектов. И для каждого из них Код: java 1.
и после этого через локальный репозиторий они станут видимы все для всех. Это самый простой способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 20:51 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras PetroNotC Sharp shalamyansky, Можно тут как в дельфи. Для этого убрать мавен и собирать через IDE. А в иде - компилировать все и или конкретный проект так делать не нужно, будет плохо. Плохо будет когда без мавена не умеешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 23:58 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp dakeiras пропущено... так делать не нужно, будет плохо. Плохо будет когда без мавена не умеешь. не умеешь что? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2020, 03:10 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras PetroNotC Sharp пропущено... Плохо будет когда без мавена не умеешь. не умеешь что? Разбивать проекты на модули. Компилировать все или частями. В java мальчик нет единственно верной линии партии. Все делается тысячей способов. Мы на работе пишем код. Сборку вообще делают другие люди. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2020, 08:29 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp dakeiras пропущено... не умеешь что? Разбивать проекты на модули. Компилировать все или частями. В java мальчик нет единственно верной линии партии. Все делается тысячей способов. Мы на работе пишем код. Сборку вообще делают другие люди. мне честное слово нравится этот форум. Ты с чего решил что я мальчик? Скорее дедушка (по знаниям и опыту). При том 300 летний. По теме: я не понимаю что вы говорите. Какие модули без мавена? Как частями компилировать? Вы коммитите не собирая проект что-ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2020, 11:08 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras, О чем я и говорю. Человек не знает как написать проект в IDE с помощью меню - новый проект, сборка - пересобрать всё и т.д. Хотите повысить скилы? Спрашивайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2020, 11:35 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras, Есть сборка gradle.. Спрашивайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2020, 11:37 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras Вы коммитите не собирая проект что-ли? Зачем?! Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты. Потом делаешь pull request. Ну а там "старшие товарищи" все объяснят за код. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 06:51 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
mad_nazgul dakeiras Вы коммитите не собирая проект что-ли? Зачем?! Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты. Потом делаешь pull request. Ну а там "старшие товарищи" все объяснят за код. <:o) скорее объяснят за сломанный билд. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 10:13 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
mad_nazgul, Не. Я за горячей клавишей build тянусь рукой каждые 30 сек. Привычка. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 10:57 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras mad_nazgul пропущено... Зачем?! Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты. Потом делаешь pull request. Ну а там "старшие товарищи" все объяснят за код. <:o) скорее объяснят за сломанный билд. Кому? Себе?! :-) <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 12:38 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Не. Я за горячей клавишей build тянусь рукой каждые 30 сек. Привычка. Зачем?! Я больше спринговые тесты запускаю. А полный билд, только перед тем, как Pull Request сделать. Правда он самому себе идет. Но привычку нужно поддерживать. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 12:40 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
mad_nazgul, Привычка. Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов. Знаешь как художники пишут?))))) Мазнул кистью и отошел на 3 шага... Посмотрел))) Где то уже писал, что запускаю прогу по 300 раз в день. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 12:43 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Привычка. Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов. Знаешь как художники пишут?))))) Мазнул кистью и отошел на 3 шага... Посмотрел))) Где то уже писал, что запускаю прогу по 300 раз в день. Ну я тоже начинал с Turbo Pascal'я. Но это не значит, что надо тянуть привычки тридцатилетней давности. Тем более, когда их можно заменить, просто запуском теста. Внес изменения, запустил тест, посмотрел результат, повторил. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 13:49 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
mad_nazgul PetroNotC Sharp mad_nazgul, Привычка. Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов. Знаешь как художники пишут?))))) Мазнул кистью и отошел на 3 шага... Посмотрел))) Где то уже писал, что запускаю прогу по 300 раз в день. Ну я тоже начинал с Turbo Pascal'я. Но это не значит, что надо тянуть привычки тридцатилетней давности. Тем более, когда их можно заменить, просто запуском теста. Внес изменения, запустил тест, посмотрел результат, повторил. Тест вызывает инкрементальный билд. FYI. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 13:57 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
mad_nazgul, Нельзя кнопку Run заменить тестами. Совсем нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 14:11 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Нельзя кнопку Run заменить тестами. Совсем нельзя. Ты хотел сказать, что ты не знаешь как заменить. Тогда предложение становится истинным ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 14:19 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
dakeiras Тест вызывает инкрементальный билд. FYI. Ну это же не полностью пересобирать приложение. А если писать unit-тест, то там даже приложение не пересобирается, а только класс. В этом плане IDEA достаточно умная. И пересобирает, только изменения. Хотя в некоторых случаях могут быть проблемы. Если индексы "сломались", то можно несколько раз запускать тест и удивляться, почему выходит одна и та же ошибка. Решается полной пересборкой проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 15:18 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Нельзя кнопку Run заменить тестами. Совсем нельзя. Так никто и не заменяет. Просто её не приходиться так часто запускать. В 99% случаев, я запускаю тесты. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 15:19 |
|
Как пройти в библиотеку?
|
|||
---|---|---|---|
#18+
забыл ник PetroNotC Sharp mad_nazgul, Нельзя кнопку Run заменить тестами. Совсем нельзя. Ты хотел сказать, что ты не знаешь как заменить. Тогда предложение становится истинным ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2020, 15:56 |
|
|
start [/forum/topic.php?fid=59&msg=39988174&tid=2120719]: |
0ms |
get settings: |
8ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
41ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
403ms |
get tp. blocked users: |
0ms |
others: | 304ms |
total: | 767ms |
0 / 0 |