powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как пройти в библиотеку?
52 сообщений из 52, показаны все 3 страниц
Как пройти в библиотеку?
    #39986875
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среда разработки:
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 , но непонятно, как и где его расширять, тем более на каталоги, внешние по отношению к проекту.

Заранее спасибо за все советы!
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39986924
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

Стандартный путь - maven repository.
А так, сюда ещё надо навернуть CI/CD, рекомендую gitlab.

Грубо говоря, вносите изменения в библиотеку, и она по пайплайну автоматически публикуется в maven repository.
Конечно все это предварительно надо настроить. И это не совсем просто, как хотелось бы.


Можно "проще"

Создаете maven проект типа POM
Туда,как модули добавляете нужные вам проекты библиотек и приложения.
Не забудьте прописать зависимости в проектах от библиотеки-модуля.

Теперь, по идее при сборке приложения будет собираться и модуль библиотеки.

Т.к. Java это "Кровавый Ынтыпрайз", то инфраструктура разработки здесь достаточно сложная.
Т.к. рассчитана на команды в сотни человек, где каждый пилит свой маленький кусочек.
Поэтому инструменты такие "монструозные".

И тут либо вы научитесь ими пользоваться, либо вам будет тяжело.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39986959
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

Можно тут как в дельфи.
Для этого убрать мавен и собирать через IDE.
А в иде - компилировать все и или конкретный проект
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987256
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
shalamyansky,

Можно тут как в дельфи.
Для этого убрать мавен и собирать через IDE.
А в иде - компилировать все и или конкретный проект

так делать не нужно, будет плохо.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987261
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky, ты можешь сделать много проектов. И для каждого из них

Код: java
1.
mvn install



и после этого через локальный репозиторий они станут видимы все для всех. Это самый простой способ.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987284
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
PetroNotC Sharp
shalamyansky,

Можно тут как в дельфи.
Для этого убрать мавен и собирать через IDE.
А в иде - компилировать все и или конкретный проект

так делать не нужно, будет плохо.

Плохо будет когда без мавена не умеешь.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987304
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras
пропущено...

так делать не нужно, будет плохо.

Плохо будет когда без мавена не умеешь.

не умеешь что?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987326
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
PetroNotC Sharp
пропущено...

Плохо будет когда без мавена не умеешь.

не умеешь что?
выше написано.
Разбивать проекты на модули. Компилировать все или частями.
В java мальчик нет единственно верной линии партии.
Все делается тысячей способов.
Мы на работе пишем код. Сборку вообще делают другие люди.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987384
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras
пропущено...

не умеешь что?
выше написано.
Разбивать проекты на модули. Компилировать все или частями.
В java мальчик нет единственно верной линии партии.
Все делается тысячей способов.
Мы на работе пишем код. Сборку вообще делают другие люди.

мне честное слово нравится этот форум.
Ты с чего решил что я мальчик? Скорее дедушка (по знаниям и опыту). При том 300 летний.

По теме: я не понимаю что вы говорите. Какие модули без мавена? Как частями компилировать?

Вы коммитите не собирая проект что-ли?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987394
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
О чем я и говорю.
Человек не знает как написать проект в IDE с помощью меню - новый проект, сборка - пересобрать всё и т.д.
Хотите повысить скилы? Спрашивайте.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39987396
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Есть сборка gradle..
Спрашивайте.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988030
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Вы коммитите не собирая проект что-ли?


Зачем?!
Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты.
Потом делаешь pull request.
Ну а там "старшие товарищи" все объяснят за код.
<:o)
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988069
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
dakeiras

Вы коммитите не собирая проект что-ли?


Зачем?!
Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты.
Потом делаешь pull request.
Ну а там "старшие товарищи" все объяснят за код.
<:o)

скорее объяснят за сломанный билд.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988080
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Не. Я за горячей клавишей build тянусь рукой каждые 30 сек. Привычка.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988128
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mad_nazgul
пропущено...


Зачем?!
Пишешь тесты. Коммитишь. А CI/CD сама собирает проект и прогоняет все тесты.
Потом делаешь pull request.
Ну а там "старшие товарищи" все объяснят за код.
<:o)

скорее объяснят за сломанный билд.


Кому? Себе?! :-)
<:o)
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988131
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Не. Я за горячей клавишей build тянусь рукой каждые 30 сек. Привычка.


Зачем?!
Я больше спринговые тесты запускаю.

А полный билд, только перед тем, как Pull Request сделать.
Правда он самому себе идет.
Но привычку нужно поддерживать. :-)
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988135
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Привычка.
Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов.
Знаешь как художники пишут?)))))
Мазнул кистью и отошел на 3 шага... Посмотрел)))
Где то уже писал, что запускаю прогу по 300 раз в день.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988174
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Привычка.
Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов.
Знаешь как художники пишут?)))))
Мазнул кистью и отошел на 3 шага... Посмотрел)))
Где то уже писал, что запускаю прогу по 300 раз в день.


Ну я тоже начинал с Turbo Pascal'я.
Но это не значит, что надо тянуть привычки тридцатилетней давности.
Тем более, когда их можно заменить, просто запуском теста.

Внес изменения, запустил тест, посмотрел результат, повторил.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988179
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
PetroNotC Sharp
mad_nazgul,
Привычка.
Я начинал с дельфи. Это ГУИ. Постоянно надо смотреть отойдя на пару шагов.
Знаешь как художники пишут?)))))
Мазнул кистью и отошел на 3 шага... Посмотрел)))
Где то уже писал, что запускаю прогу по 300 раз в день.


Ну я тоже начинал с Turbo Pascal'я.
Но это не значит, что надо тянуть привычки тридцатилетней давности.
Тем более, когда их можно заменить, просто запуском теста.

Внес изменения, запустил тест, посмотрел результат, повторил.

Тест вызывает инкрементальный билд.
FYI.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988194
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Нельзя кнопку Run заменить тестами.
Совсем нельзя.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988200
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Нельзя кнопку Run заменить тестами.
Совсем нельзя.

Ты хотел сказать, что ты не знаешь как заменить. Тогда предложение становится истинным
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988245
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Тест вызывает инкрементальный билд.
FYI.


Ну это же не полностью пересобирать приложение.
А если писать unit-тест, то там даже приложение не пересобирается, а только класс.

В этом плане IDEA достаточно умная. И пересобирает, только изменения.
Хотя в некоторых случаях могут быть проблемы.
Если индексы "сломались", то можно несколько раз запускать тест и удивляться, почему выходит одна и та же ошибка.
Решается полной пересборкой проекта.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988248
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Нельзя кнопку Run заменить тестами.
Совсем нельзя.


Так никто и не заменяет.
Просто её не приходиться так часто запускать.
В 99% случаев, я запускаю тесты. :-)
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988260
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
PetroNotC Sharp
mad_nazgul,
Нельзя кнопку Run заменить тестами.
Совсем нельзя.

Ты хотел сказать, что ты не знаешь как заменить. Тогда предложение становится истинным
оно истинное в твое голове. В нее новые знания не лезут. Только схоластические рассуждения.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988263
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Тут народ давно отметил, что оооочень часто тесты это зло.
Как бы миллион мух не могут ошибаться.
Серединки золотой трудно добится. А ты 99проц жизни тесты пишешь.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988280
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник
пропущено...

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

Нажми еще раз кнопку Run, может на этот раз получится правильный ответ
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988281
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем участникам! Не все, к сожалению, поняли суть просьбы, но некоторые поняли, им особое спасибо.

"Библиотека" - это, пожалуй, слишком громкое слово, привычная ассоциация c пакетом (mvn install), наверное, сбивает с толку.
"Общие исходные файлы для разных проектов" - вот как точнее назвать то, что я хочу получить.

Пакеты, библиотеки, репозитории - это мощная концепция, но она предполагает некую завершенность. Библиотека - это нечто отлаженное, собранное, однозначно идентифицируемое и лежащее в строго определенном месте. Пользуйся на здоровье, но руками не не трогай!

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

Вот уважаемый Zzz79 вроде бы знает как это сделать:
Zzz79

вынести те классы,которые ты хочешь в отдельную либу и потом добавить этот модуль в артифакты проекта 1,проекта 2 и любого другого
вынести в отдельную либу - это значит собрать все это добро в джарник
при этом ты сможешь рефакторить файлы и текущего проекта и подключенного,надо только прокинуть ауты
при этом у тебя будет сразу несколько корневых папок в проекте
и ты без проблем сможешь их изменять и эти изменения будут подхватыватья в реальном времени
ну тоесть это вполне реально ,так как я работал на таком проекте - где у нас было по 5 -10 модулей подключенных и все редактировалось без проблем

Дорогой Zzz79, а можно поподробнее, как это хозяйство настроить, где "прокинуть ауты", что и где прописать, чтобы изменения подхватывались в реальном времени? Нельзя ли глянуть на структуру аналогичного проекта?

Я попробовал, но получилось хреновенько. Сделал 2 проекта, каждый из 2-х модулей, один модуль общий для обоих проектов. Модули в смысле IDEA ("Project structure..."), а не maven, maven модули не позволили мне указать на "внешние" пути относительно проекта. Компилятор и среда пути к файлам модуля видят (после ручной настройки), в принципе можно и править, и собирать. Но настройки "библиотечного" модуля постоянно слетают при закрытии/открытии проекта, при каких-то еще событиях. Так жить нельзя.

Вот здесь отцы-создатели maven предлагают решение схожей проблемы, но там структура не совсем такая, как я хочу. Возможно, придется делать так.

Буду благодарен за образцы.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988284
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,
В java это называется jar файл.
Ни одного не подключал к проекту?
Подходит?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988285
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

В ПТ.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988297
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

В java это называется jar файл.
Ни одного не подключал к проекту?
Подходит?

Jar файл, в моем нынешнем понимании, - это архив с откомпилированными бинарными файлами *.class, то есть собственно пакет (библиотека). В проекте, ясен пень, таких до сотни и больше, сторонних производителей. Могу и свой сделать. Но библиотеки jar с бинарными файлами как раз и создают проблему - не ясно, мне не ясно, как одновременно, в течение одной сборки проекта, компилировать и собственные файлы проекта, и исходные файлы библиотеки.

Или существуют мне пока неведомые управляемые jar-файлы с исходниками? Научите, тогда, пожалуйста, как с ними обходиться.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988303
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,
Давай по шагам.
Jar файл это dll в дельфи. Ты оттуда?
Так и тут. Как в дельфи.
В IDE открыто два проекта и один проект это jar файл либа utils.jar.
Дальше что непонятно?
Или ты в notepad.exe пишешь?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988310
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky

Jar файл, в моем нынешнем понимании, - это архив с откомпилированными бинарными файлами *.class, то есть собственно пакет (библиотека). В проекте, ясен пень, таких до сотни и больше, сторонних производителей. Могу и свой сделать. Но библиотеки jar с бинарными файлами как раз и создают проблему - не ясно, мне не ясно, как одновременно, в течение одной сборки проекта, компилировать и собственные файлы проекта, и исходные файлы библиотеки.

Или существуют мне пока неведомые управляемые jar-файлы с исходниками? Научите, тогда, пожалуйста, как с ними обходиться.

Есть два подхода.

1) Можно собрать толстый jar-файл куда включить все classfiles из исходников и из библиотек.
maven-shade-plugin этим занимается. На выходе мы получаем автономное приложение у которого все зависимости есть.

2) И второй способ - добавить в MANIFEST.MF в CLASSPATH относительные пути на все твои зависимости и публиковать
их при билде. Как публиковать - тоже отдельная тема. Тут можешь хоть свои bash скрипты делать. Хоть искать коробочные
решения. Этот способ хорош гибкостью. Можно легко обновить какие-то зависимости или подкинуть там 2-3 новых
JDBC-драйвера.

Оба способа хороши. И я использую оба. По ситуации.

Есть еще и учебно-отладочный вариант когда jar вообще не собирается. Это тоже работает. В коротких тестах
и учебниках по программированию на java.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988317
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Не понял твои варианты.
Есть App1, App2, Utils.jar (utils class)
Понятно что заказчику нужно jar тоже поставлять. Как dll.
Какие варианты?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988321
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

В IDE открыто два проекта и один проект это jar файл либа utils.jar.

Можно и так. Смотрим дальше. Итак, открыто два проекта, первый - обертка, второй - библиотека. Из основного проекта идет вызов к библиотечному классу. Появилась нужда перейти к вызываемому методу и что-то в нем поправить. Просто нажать мышкой не получится, придется переключить окно на второй проект, там найти файл и метод. Дальше собрать библиотечный проект, переключиться обратно на основной, собрать основной. И все это вместо одного нажатия горячей клавиши. Как-то не айс. Но можно, спору нет.

Если вам нравится аналогия с Delphi, то в этой аналогии нет нужды собирать отдельную dll, а нужно воткнуть все необходимое в exe, за одну, естественно, сборку. Когда понадобится dll, будем делать dll, но не ранее того.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988324
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Не понял твои варианты.
Есть App1, App2, Utils.jar (utils class)
Понятно что заказчику нужно jar тоже поставлять. Как dll.
Какие варианты?

Не знаю. Мой комментарий относится к тому что квотировано. Я про заказчика там ничего не говорю.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988339
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
ОК.
Вариант1 - толстое приложение с utils.jar внутри мне лично не нра.
Ждем автора.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988343
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

maven-shade-plugin

Ага, спасибо, смотрю, наверное, это поможет. Но там много наворотов, надо разбираться.

Елки-палки, что ж такие сложности для простой задачи - добавить пути поиска исходных файлов? При том что сам компилятор javac такую возможность предусматривает в sourcepath, а надстройки - maven, IDEA и иже с ними, рубят на подлете, и приходится так извращаться.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988344
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я иногда собираю для себя консольные утилитки. Состоящие из 1 bash скрипта и 1 jar файла.
И в этом случае такой "толстяк" удобен. Эти утилитки не имеют никакого смысла для форума sql.ru
Они - специфичны для моих проектов и для моих задач. И никто не поймет что они делают.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988346
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Вариант1 - толстое приложение с utils.jar внутри мне лично не нра.

Не понял. А разве любое приложение не собирается в единый jar, который содержит все-все нужные классы, кроме разве что тех, которые входят в поставку целевой JRE?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988349
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Zzz79!

Zzz79

добавляешь его и далее ты увидишь в структуре своего проекта два корневых каталога-основной проект и редактируемая библиотека

Я так сделал руками ("Project structure..."), но получилось плохо, написал выше. Попробую сейчас через gradle, как вы рекомендуете. Еще одна оболочка-плагин, чем дальше в лес, тем толще партизаны...

Zzz79

скажу только одно раз у тебя возникла такая проблема - ты что то делаешь не так- так как этот подход жутчайшее легаси и никто так давно уже не работает

Я уж догадываюсь. Но не возьму никак в толк, что тут такого неправильного? А если "правильно", то получается неудобно. Это тоже неправильно.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988350
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
PetroNotC Sharp
mayton,
Вариант1 - толстое приложение с utils.jar внутри мне лично не нра.

Не понял. А разве любое приложение не собирается в единый jar, который содержит все-все нужные классы, кроме разве что тех, которые входят в поставку целевой JRE?

Поскольку процесс сборки определяется IDE/сборщиком то мы можем только предполагать что там.

Вот как вы включаете JDBC-драйверы в ваш проект?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988354
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
PetroNotC Sharp
mayton,
Вариант1 - толстое приложение с utils.jar внутри мне лично не нра.

Не понял. А разве любое приложение не собирается в единый jar, который содержит все-все нужные классы, кроме разве что тех, которые входят в поставку целевой JRE?

Это файл *.war)))
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988355
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

авторЯ уж догадываюсь. Но не возьму никак в толк, что тут такого неправильного? А если "правильно", то получается неудобно. Это тоже неправильно.
нет в java одного решения
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988356
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще морально устаревшая технология OSGI. Которая тоже является стандартом на публикацию java-бинарников.

И некоторые крупно-конторы все еще ее поддерживают.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988357
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Вот как вы включаете JDBC-драйверы в ваш проект?

Прописываю зависимость в pom.xml. Иначе пока и не умею. Насколько я вижу, в целевом jar в /BOOT-INF/lib после сборки находятся все необходимые библиотеки, в том числе и JDBC-драйвер.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988361
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
mayton

Вот как вы включаете JDBC-драйверы в ваш проект?

Прописываю зависимость в pom.xml. Иначе пока и не умею. Насколько я вижу, в целевом jar в /BOOT-INF/lib после сборки находятся все необходимые библиотеки, в том числе и JDBC-драйвер.
значит неверно.
В IDE без мавен стоит галка, включать ли дрова к бд в выходной файл war
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988362
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
mayton

Вот как вы включаете JDBC-драйверы в ваш проект?

Прописываю зависимость в pom.xml. Иначе пока и не умею. Насколько я вижу, в целевом jar в /BOOT-INF/lib после сборки находятся все необходимые библиотеки, в том числе и JDBC-драйвер.

Их можно включать с разным scope.

Код: java
1.
<scope>compile|provided</scope>



В случае с compiled они - физически включаются в бинарник. Связывание в фазе компилляции.
Во втором варианте рантайм или тот сервер приложений. Или среда обещает (!) что нужный
jdbc драйвер будет предоставлен в путях CLASSPATH.

Эти оба способа вобщем правильные. Но второй считается более гибким т.к. JDBC драйвер
следует "инверсии управления" и если ты правильно писал код то ты опирался только на
неймспейс java.sql.* и не включал явно никаких конкретных драйверов. Это позволяет
в будущем менять целевую DBMS или просто делать апгрейд драйвера если там какая-то
ошибка была в старой версии.

Какие выводы можно из этого всего сделать?
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988367
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79, так gradle - это получается альтернатива maven. Может, это и хорошая альтернатива, но мне она не подходит, не некоторым причинам я должен остаться на maven. Но за совет спасибо!
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988368
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Код: java
1.
<scope>compile|provided</scope>



О как, классно! Про выводы не знаю, но информация крайне для меня ценная. По умолчанию, получается, работает compile .
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988371
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
>но вот модульная архитектура = реально прошлый век,
Да. Нет смысла именно тут об этом.
Он верно схватил 3 типа сборки. Это главное.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988419
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это всё от того что нексус древнее г.
Но к счастью есть бесплатный (для опен сорса) JCenter и Bintray.
...
Рейтинг: 0 / 0
Как пройти в библиотеку?
    #39988426
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
Если ты еще 1,5 лет проживешь в java)) то уже не станешь говорить что "вот это единственно правильное решение".
Ты сходишь от былинного камня налево, направо, прямо и просто разложишь карты путнику.
Без патетики что он умрет.
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Как пройти в библиотеку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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