|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Всем привет! Сделал на Spring Boot 2.1.2 простейшее Web приложение с 1-м @Controller классом и одним @GetMapping("/"), выводящим html страницу. Размер War файла - 19Мб Как можно уменьшить размер War файла? Если сделать на Java EE такое же простейшее приложение, размер будет меньше/больше? С большими проектами размер war файла не будет расти с арифметической прогрессией? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 13:59 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
MolasarС большими проектами размер war файла не будет расти с арифметической прогрессией?Если Вы добавите ещё один контроллер, то размер war-файла не станет равным 38МБ. Вы можете проверить это сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:03 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Molasar, а ты посмотрел, что находится в war? как минимум библиотеки можно исключить. но для этого они должны находиться где положено. MolasarС большими проектами размер war файла не будет расти с арифметической прогрессией?как правило либы используются многократно, поэтому прогрессии не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:03 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Molasar, Что за вопрос странный. Это zip архив. Что там внутри большое конкретнее)))) LOL ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:21 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Petro123Molasar, Что за вопрос странный. Это zip архив. Что там внутри большое конкретнее)))) LOL <artifactId>spring-boot-maven-plugin</artifactId> внутри секции build. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:29 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
MolasarКак можно уменьшить размер War файла? Использовать exclusions совместно с maven. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:29 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Molasar, посмотри что находится в .war\WEB-INF\lib\ все либы "всё своё ношу с собой" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:49 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Molasar, там внутри какой-нибудь сервер, типа Jetty, упакорван. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:54 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Вы не даете автору даже посмотреть размеры файлов внутри. Пусть работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:00 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
MolasarКак можно уменьшить размер War файла? Если сделать на Java EE такое же простейшее приложение, размер будет меньше/больше? - в порядке развлечения, на днях, делал SpringBoot проект (~50Мб) и аналогичный на JavaEE (~10Мб). Собственно тут все просто - сервер приложений уже содержит все необходимые имплементации JavaEE. - можно и SpringBoot приложение уменьшить, оно тянет много лишнего. Если проект под maven, то exclusion Вам поможет. Например чтобы не тянуть embedded Tomcat в свое приложение и т п. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:47 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
MolasarВсем привет! Сделал на Spring Boot 2.1.2 простейшее Web приложение с 1-м @Controller классом и одним @GetMapping("/"), выводящим html страницу. Размер War файла - 19Мб Как можно уменьшить размер War файла? Если сделать на Java EE такое же простейшее приложение, размер будет меньше/больше? С большими проектами размер war файла не будет расти с арифметической прогрессией? 19 mb это очень мало для современного энтерпрайза. А какой у тебя сборщик? mvn? gradle? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 16:11 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
GarrickMolasar, там внутри какой-нибудь сервер, типа Jetty, упакорван. Jetty надо спецом покавать, там по умолчанию Томкет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 19:23 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonMolasarВсем привет! Сделал на Spring Boot 2.1.2 простейшее Web приложение с 1-м @Controller классом и одним @GetMapping("/"), выводящим html страницу. Размер War файла - 19Мб Как можно уменьшить размер War файла? Если сделать на Java EE такое же простейшее приложение, размер будет меньше/больше? С большими проектами размер war файла не будет расти с арифметической прогрессией? 19 mb это очень мало для современного энтерпрайза. А какой у тебя сборщик? mvn? gradle? У нас в облаке под развертку просит 380МБ если надо тысячу нодов загрузить довольно накладно - приходится на Го переписывать только из-за памяти. Видимо ТС требуется так и не доучив яву начать учить Го ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 19:26 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
На AWS lambda есть ограничения в 128 Мь на артифакт. Кстати половина проблем фиксятся если внимательно смотреть mvn dependency:tree. Что включается? Почему? Какие зависимости тянутся? Нужны они или нет? Я как-то затянул aws-sdk хотя мне надо было отдельно взять aws-s3, aws-lambda e.t.c. Вобще внимательно смотрите что включается. Для gradle тоже есть плагин зависимостей. Ну... был вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 19:37 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
один и тот же проект собранный ant - 35м , maven - 65м ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 19:54 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
А чем отличается состав артефактов? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 23:12 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
mayton, был проект созданный в NB "стандартным способом" сборки ant потом просто преобразован в в сборку maven разница в составе папки lib. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 07:04 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonА чем отличается состав артефактов?Отличается скорее всего выкидыванием NCDF и CNF ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 07:42 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Molasar, а можно pom файл(в очередной раз - вопрос без pom файла не имеет смысла)? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:13 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяmayton, был проект созданный в NB "стандартным способом" сборки ant потом просто преобразован в в сборку maven разница в составе папки lib. хотел бы я глянуть на это "преобразование". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 08:17 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверинхотел бы я глянуть на это "преобразование".создан проект maven и просто скопированы все файлы из проекта ant в среде NB. ну и исправлены ошибки в pom по мере возникающие в процессе компиляции. коды проекта без изменения ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 09:31 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
сезонаторMolasarС большими проектами размер war файла не будет расти с арифметической прогрессией?Если Вы добавите ещё один контроллер, то размер war-файла не станет равным 38МБ. Вы можете проверить это сами. Возьмусь написать контроллер размером 19 мб! Оплата сдельная - 1 мб = 10 к.руб :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 09:47 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяОзверинхотел бы я глянуть на это "преобразование".создан проект maven и просто скопированы все файлы из проекта ant в среде NB. ну и исправлены ошибки в pom по мере возникающие в процессе компиляции. коды проекта без изменения Ты когда нибудь запускал своё приложение с ключиком verbose:class ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:18 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonТы когда нибудь запускал своё приложение с ключиком verbose:class ?нет а смысл? мне нужен war для деплоя в линуксах ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:21 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяmaytonТы когда нибудь запускал своё приложение с ключиком verbose:class ?нет а смысл? мне нужен war для деплоя в линуксах может это Алиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:53 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверинможет это Алиса???? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 11:04 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяmaytonТы когда нибудь запускал своё приложение с ключиком verbose:class ?нет а смысл? мне нужен war для деплоя в линуксах War содержит jar-ники (обычно) и твои собственные .class files. Если jar-ники распаковать и посмотреть - там будет много шлака. Из того что в твоём коде может и не используется. Но входит в артифакт просто потому что владелец этого артифакта так захотел. Можно зачистить jar-ники удалив ненужное и тогда счастливый Molasar получит вместо 10М вместо 19 а то и того меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 11:28 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
mayton, Не дело прикладного прогера этим заниматься... Если либы из внешнего репо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 11:52 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Как будет угодно. Впрочем... глубину участия в разработке других либ каждый сам для себя определяет самостоятельно. Мои коллеги коммитили в Camel, Hibernate репки. Тоесть... как-бы проявляли большее участие в life-cycle смежных фреймворков и библиотек. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 11:55 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonЕсли jar-ники распаковать и посмотреть - там будет много шлака. Из того что в твоём коде может и не используется. Но входит в артифакт просто потому что владелец этого артифакта так захотел.куча лишнего в наборе библиотек в NB в папке Dependencies ручками Exclude Dependency методом проб и ошибок исключил лишнее war стал 26 мег Andy_OLAPИспользовать exclusions совместно с maven. прав но как это автоматизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:01 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Есть dependency явные. Это зависимости меж-библиотек и то что прописано в imports. Есть зависимости которые появляются в рантайме. Это к примеру jdbc дрова. Плагины. И протрекать последние - сложно. Нужно прогнать все кейcы приложения. Я поэтому и писал про verbose:class. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:35 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonЕсть зависимости которые появляются в рантайме. Это к примеру jdbc дрова. Плагины. И протрекать последние - сложно. Нужно прогнать все кейcы приложения. Я поэтому и писал про verbose:class.ну NB контролирует зависимости и импорты. видимо maven перестраховывается и добавляет всё... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:44 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Как он это контролирует? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:48 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonКак он это контролирует?видимо проверяет цепочки вызовов пока не добавишь jar-либу будет показывать ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:53 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Мы-же говорим про фазу runtime? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 12:56 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonМы-же говорим про фазу runtime?NB это контролирует на фазе написания кода, и пока проблем с эти в фазе рантайма не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:04 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Да по фазе написания у меня нет вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:30 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonДа по фазе написания у меня нет вопросов.тогда я не понял..... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 13:38 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
SergunkaУ нас в облаке под развертку просит 380МБ если надо тысячу нодов загрузить довольно накладно - приходится на Го переписывать только из-за памяти. Ну вот, логичный результат поигрушек в программистов. Сначала накуролесили на 380 мб непойми чего (большая часть абсолютно не нужна), а потом из-за надоевшего собственного сэкспериментирования решили заняться "сексом по новому". Ну так в новом сексе опять миллион ненужных запчастей будет, проблема очень быстро повторится. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:44 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
alex55555SergunkaУ нас в облаке под развертку просит 380МБ если надо тысячу нодов загрузить довольно накладно - приходится на Го переписывать только из-за памяти. Ну вот, логичный результат поигрушек в программистов. Сначала накуролесили на 380 мб непойми чего (большая часть абсолютно не нужна), а потом из-за надоевшего собственного сэкспериментирования решили заняться "сексом по новому". Ну так в новом сексе опять миллион ненужных запчастей будет, проблема очень быстро повторится. Я согласен с сарказмом. Но корень этой проблемы растет из неограниченности размера war/jar артифакта. И кстати он не связан 1:1 с потребляемой памятью. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 14:48 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonНо корень этой проблемы растет из неограниченности размера war/jar артифактаВы путаете причину и следствие. Причина - неуправляемые (по факту) зависимости. Следствие - точно такой же рост размера артефактов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:11 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Basil A. SidorovПричина - неуправляемые (по факту) зависимости. Следствие - точно такой же рост размера артефактов+100 как избежать этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:41 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Артефакт org.hibernate:hibernate-core:5.4.1.Final имеет зависимости описанные здесь. http://central.maven.org/maven2/org/hibernate/hibernate-core/5.4.1.Final/hibernate-core-5.4.1.Final.pom Их описал человек. Что здесь - неуправляемое? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:48 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonИх описал человек. Что здесь - неуправляемое?Человеческий фактор. Вы делегировали "кому-то другому" работу, которую должны делать вы. Ну или кто-то из вашей команды. Да, взамен вы получили разные плюшки вида "об этом не надо думать" и "оно всё само", но важно понимать, чем именно вы заплатите за эту "лёгкость". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:55 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Basil A. SidorovmaytonИх описал человек. Что здесь - неуправляемое?Человеческий фактор. Вы делегировали "кому-то другому" работу, которую должны делать вы. Ну или кто-то из вашей команды. Да, взамен вы получили разные плюшки вида "об этом не надо думать" и "оно всё само", но важно понимать, чем именно вы заплатите за эту "лёгкость". Код: xml 1.
Вроде как работает более или менее. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:00 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Basil A. SidorovmaytonИх описал человек. Что здесь - неуправляемое?Человеческий фактор. Вы делегировали "кому-то другому" работу, которую должны делать вы. Ну или кто-то из вашей команды. Да, взамен вы получили разные плюшки вида "об этом не надо думать" и "оно всё само", но важно понимать, чем именно вы заплатите за эту "лёгкость". Чем это отличается от других языков и технологий? Создатель hibernate-core решил что эти зависимости ему нужны. Имеет право. В других ЯП и технологиях (С++) если не было мейк-файла - вы читаете нудный документ типа гайда по установке и использованию и качаете библиотеки. Ставите их куда надо и конфигурите линкер чтоб он их увидел. Это называется управление зависимостями. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:01 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
ОзверинВроде как работает более или менее.Ровно в одном сценарии - опишем всё, что может понадобиться. Это, условно говоря, принцип "гарантированной достаточности". А минимизация размера это, условно говоря, принцип "абсолютного минимализма". Разные критерии - разные результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:08 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonЭто называется управление зависимостями.это ручной режим. Бери шарп. Там автомат))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:12 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonСоздатель hibernate-core решил что эти зависимости ему нужны."Я подчеркнул".Имеет право.А правах его никто и не ограничивает.В других ЯП и технологиях (С++) если не было мейк-файла - вы читаете нудный документ типа гайда по установке и использованию и качаете библиотеки. Ставите их куда надо и конфигурите линкер чтоб он их увидел. Это называется управление зависимостями."Это" называется "управление сборкой". И, опять-таки, оптимизируется ровно одна задача - быстрая сборка на системе разработчика. И, опять-таки, "не очень хорошо" подходит для сборки у конечных пользователей. P.S. Не очень корректно переносить процесс сборки исполняемого файла на систему с полностью динамической компоновкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:15 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Об чем здесь идет спор? Кто хочет зависимости подключать "по другому"? Может быть у вас есть какая-то идея? Ну расскажите? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:21 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonНу расскажите?"Вам не понравится". А во-вторых - "это экономически неэффективно". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:26 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Коротко суть спора - за все приходится платить:) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:27 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Basil A. SidorovОзверинВроде как работает более или менее.Ровно в одном сценарии - опишем всё, что может понадобиться. Это, условно говоря, принцип "гарантированной достаточности". А минимизация размера это, условно говоря, принцип "абсолютного минимализма". Разные критерии - разные результаты. мы давно перешли от водопада к итерациям - итеративно разбираться, что грузится, что надо и что описываем. Процесс постоянный. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:27 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonАртефакт org.hibernate:hibernate-core:5.4.1.Final имеет зависимости описанные здесь. http://central.maven.org/maven2/org/hibernate/hibernate-core/5.4.1.Final/hibernate-core-5.4.1.Final.pom Их описал человек. Что здесь - неуправляемое?Ну проблема примерно такого плана: они логируют все через jboss-logging, если отвлечься от того что, что jboss колхозники и ставят зависимости почему-то provided вместо optional, то получается так, что при деплое поделки в jboss будут возникать пляски с настройкой логирования, если приложение логирует не через jboss-logging - команде хибера нужно было делать shade для этого jboss-logging, а не как прямую зависимость включать. С javassist там тоже проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:30 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Petro123Коротко суть спора - за все приходится платить:) Я надеюсь что эволюция здесь работает как главный фактор того какие и как инструменты мы используем и будем использовать в будущем. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:31 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверин Код: xml 1.
Вроде как работает более или менее.Вообще не работает, т.е. нельзя просто так взять и написать в dependencyManagement что-то в духе: Код: xml 1. 2. 3. 4. 5.
и после этого быть уверенным, что он затащит jackson-core и jackson-annotations той же версии - любая зависимость, в которой jackson-core будет явно указан затащит свою версию, в итоге приходится для каждого jar указывать версию - ад и израиль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:48 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Андрей Панфилов, да, именно поэтому - процесс итеративный, но вполне решаемый, причем за достаточно короткий промежуток времени. Но - это все таки процесс, а не "раз и готово". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:57 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
До модулей дойдем? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:57 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonPetro123Коротко суть спора - за все приходится платить:) Я надеюсь что эволюция здесь работает как главный фактор того какие и как инструменты мы используем и будем использовать в будущем.мы уже платим. Сегодня. Мне пофиг на размер, если я гружу библиотеку с репо. Вадя перфекционист и ему нужно размер и скорость. Плохо что грань поиска килобайт нигде не обучают. Иногда нужно забить на размер. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:05 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Не Вадя. Другой мембер вопрос поднял. У меня тоже был вопрос толстых сборок под AWS-Lambda но он пофиксился просто наблюдением над dependency:tree. Лишним перфексионизмом я тоже не страдаю. Просто надо было добить артифакт хотя-бы до 128Мб ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:07 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Petro123Мне пофиг на размер, если я гружу библиотеку с репо. Вадя перфекционист и ему нужно размер и скорость. Плохо что грань поиска килобайт нигде не обучают. Иногда нужно забить на размер.и согласен и нет по большому счёту размер по-фигу. с другой стороны время сборки war удручает. и при деплое на клиента, если клиент тесовая машина не понятно где, и инет ограничен - то ж не радует... по мелочам , а набегает - вот это огорчает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:11 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяPetro123Мне пофиг на размер, если я гружу библиотеку с репо. Вадя перфекционист и ему нужно размер и скорость. Плохо что грань поиска килобайт нигде не обучают. Иногда нужно забить на размер.и согласен и нет по большому счёту размер по-фигу. с другой стороны время сборки war удручает. и при деплое на клиента, если клиент тесовая машина не понятно где, и инет ограничен - то ж не радует... по мелочам , а набегает - вот это огорчает После перехода на gradle время субъективно улучшается в пару раз. В основном за счет 4х рабочих java-процессов сборщиков которые постоянно подняты в памяти и ждут заданий. В отличие от mvn который стартует медленнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:18 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
ОзверинАндрей Панфилов, да, именно поэтому - процесс итеративный, но вполне решаемый, причем за достаточно короткий промежуток времени. Но - это все таки процесс, а не "раз и готово".Решаемо - это как у Вади? на ant перейти? Не хочу чтобы итеративно было, хочу чтобы оно работало более очевидно чем сейчас, т.е.: если я в dependencyManagement указал артефакт с определенной версией, то оно и для всех его зависимостей должно версии зафиксировать, а не так как сейчас - кто ближе тот и прав, ну и еще можно хотелок накидать в духе глобальных exclude, или описания того какой API/JSR реализует тот или иной артефакт, чтобы нельзя было два одновременно сложить вместе, или отделения test-зависимостей от compile. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:18 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадявремя сборки warда брось. Сколько? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:19 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Petro123вадявремя сборки warда брось. Сколько?3 сек и 15 сек на сборку. мелочь . но раздражает. особенно когда что-то не получается и нужно ждать... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:26 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
По 15 минут собирали. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:28 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверин Код: xml 1.
Вроде как работает более или менее.Вообще не работает, т.е. нельзя просто так взять и написать в dependencyManagement что-то в духе: Код: xml 1. 2. 3. 4. 5.
и после этого быть уверенным, что он затащит jackson-core и jackson-annotations той же версии - любая зависимость, в которой jackson-core будет явно указан затащит свою версию, в итоге приходится для каждого jar указывать версию - ад и израиль. в итоге приходится - исключать ненужные после конфликт резолвинга. Я не очень понимаю, как вы собираетесь автоматизировать эту проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:29 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверинв итоге приходится - исключать ненужные после конфликт резолвинга. Я не очень понимаю, как вы собираетесь автоматизировать эту проблему.В gradle к примеру, подобных проблем нет (ну или по крайней мере они сведены к минимуму), ну и остальных приколов тоже поменьше будет (например, то что предоставляет сервер приложений можно просто описать как новую конфигурацию, а потом вычесть одну и другой) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:39 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonПо 15 минут собирали.ну дак у вас большие проекты. Странно когда новичек вставивший контроллер беспокоится) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:45 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинв итоге приходится - исключать ненужные после конфликт резолвинга. Я не очень понимаю, как вы собираетесь автоматизировать эту проблему.В gradle к примеру, подобных проблем нет (ну или по крайней мере они сведены к минимуму), ну и остальных приколов тоже поменьше будет (например, то что предоставляет сервер приложений можно просто описать как новую конфигурацию, а потом вычесть одну и другой) но вместе с dependencyManagment стратегия разрешения конфликтов становится очевидной. Мавен - менее гибок, но вполне очевиден, если требуется. То есть, если в dependencyManagment указана конкретная версия и среди конфликтов эта версия есть - используется она, другой вопрос, что версия может быть указана, но среди всех заивисимостей ее нет - тогда тут уже вступает в силу закон, кто ближе к корню. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 18:42 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Суровые конфликты идут обычно когда вливаются 2 разные версии одного и того-же продукта. Помню часто gclib требовался в проекте в двух вариантах. Причем младшая версия тоже была нужна. Фиксили это заворачивая модуль в OSGI-bundle. (Это еще до девятки). Бандлы вобщем-то решали свою задачу но практически в разработке их программеры люто ненавидели. За многословность. Громоздкость и практически невостребованность со стороны кастомера. С модулями девятки я еще не работал - поэтому практически не знаю как оно там "внутре". Вобщем... тема для пятницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 19:55 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonМожет быть у вас есть какая-то идея? Ну расскажите? Идея простая - проектировать. Ну а реализация сложная. Но для начала нужно выполнять хотя бы минимальные требования, давно известные всем. Например - всё должно быть простым. Это отнюдь не с потолка взявшееся правило. Но такое важное ограничение практически очень часто не соблюдается. Берут одну систему, к ней прикручивают другую, потом третью и в итоге получается адская смесь из всего на свете, которая работает только тогда, когда сама этого захочет. А вот если бы с самого начала думали о последствиях, продумывали бы вопросы сложности, совместимости, масштабирования, расширения и т.д., тогда бы массы проблем просто не возникло бы. Но хочется же сделать быстрее, плюс бизнес сроки зажимает. Вот и берут что есть, втыкают лишь бы заработало, а потом удивляются - ну почему вдруг у нас прожект так разросся? И управление зависимостями в мавене и прочем сильно далеко от идеала, но опять же - раз оно там есть, то по быстрому прикрутили и нарисовали в бложеке "сакцесс стори", ура-ура, мы победили. Только сложность-то осталась, победа локальная, а в целом ситуация только ухудшилась. Привычка делать всё "по быстрому" и "не парясь" до добра никогда не доводила. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:47 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
alex55555maytonМожет быть у вас есть какая-то идея? Ну расскажите? Идея простая - проектировать. Ну а реализация сложная. Но для начала нужно выполнять хотя бы минимальные требования, давно известные всем. Например - всё должно быть простым. Это отнюдь не с потолка взявшееся правило. Но такое важное ограничение практически очень часто не соблюдается. Берут одну систему, к ней прикручивают другую, потом третью и в итоге получается адская смесь из всего на свете, которая работает только тогда, когда сама этого захочет. А вот если бы с самого начала думали о последствиях, продумывали бы вопросы сложности, совместимости, масштабирования, расширения и т.д., тогда бы массы проблем просто не возникло бы. Но хочется же сделать быстрее, плюс бизнес сроки зажимает. Вот и берут что есть, втыкают лишь бы заработало, а потом удивляются - ну почему вдруг у нас прожект так разросся? И управление зависимостями в мавене и прочем сильно далеко от идеала, но опять же - раз оно там есть, то по быстрому прикрутили и нарисовали в бложеке "сакцесс стори", ура-ура, мы победили. Только сложность-то осталась, победа локальная, а в целом ситуация только ухудшилась. Привычка делать всё "по быстрому" и "не парясь" до добра никогда не доводила. сижу, записываю новую для себя информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:49 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
alex55555Идея простая - проектировать.ну в общем я так и поступаю - с проектирования... но вот по теме топика как-то не получается т.е. надо решить maven vc ant? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:12 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяalex55555Идея простая - проектировать.ну в общем я так и поступаю - с проектирования... но вот по теме топика как-то не получается т.е. надо решить maven vc ant? ant работает с зависимостями? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:18 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Чото взоржал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:31 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверинant работает с зависимостями?нет. он просто подтягивает библиотеки которые ему укажешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:34 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадяОзверинant работает с зависимостями?нет. он просто подтягивает библиотеки которые ему укажешь. допустим, что он даже мавен не юзает(хотя кодга я в последний раз работал с этим древним отложением мамонта, он юзал мавен таски , потому что никакого собственного депенденси менеджмента у него отродясь не было), если у него нет инструментов вменяемых для работы с зависимостиям - то какие тут могут быть или? Тогда уж gradle. Или ant в связки с чем-нибудь, что умеет в менеджмент зависимостей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:36 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
alex55555maytonМожет быть у вас есть какая-то идея? Ну расскажите? Идея простая - проектировать. Ну а реализация сложная. Но для начала нужно выполнять хотя бы минимальные требования, давно известные всем. Например - всё должно быть простым. Это отнюдь не с потолка взявшееся правило. Но такое важное ограничение практически очень часто не соблюдается. Берут одну систему, к ней прикручивают другую, потом третью и в итоге получается адская смесь из всего на свете, которая работает только тогда, когда сама этого захочет. А вот если бы с самого начала думали о последствиях, продумывали бы вопросы сложности, совместимости, масштабирования, расширения и т.д., тогда бы массы проблем просто не возникло бы. Но хочется же сделать быстрее, плюс бизнес сроки зажимает. Вот и берут что есть, втыкают лишь бы заработало, а потом удивляются - ну почему вдруг у нас прожект так разросся? И управление зависимостями в мавене и прочем сильно далеко от идеала, но опять же - раз оно там есть, то по быстрому прикрутили и нарисовали в бложеке "сакцесс стори", ура-ура, мы победили. Только сложность-то осталась, победа локальная, а в целом ситуация только ухудшилась. Привычка делать всё "по быстрому" и "не парясь" до добра никогда не доводила. Эволюционный путь - предполагает скорость реализации. Если есть две команды. И одна из них выдает решение быстрее - то она всегда будет получать заказы на новые проекты. Риски сюда тоже заложены. Ведь первая команда их и будет решать. Вторая команда фейлит сроки. Фейлит один раз. Второй. А потом она вообще не участник разработки. Заказов нет. Эволюционный путь. Философские рассуждения о том что надо проектировать я 100% принимаю и соглашаюсь. Думания о последствиях также важны. Но сколько времени вы будете думать? День? Неделю? Месяц? Когда у вас будет definition of done? Вот в чем вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 15:55 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Озверинant работает с зависимостями? Легко! Только самому всё прописать надо ручками :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 16:10 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
GarrickЛегко! Только самому всё прописать надо ручками :)дак и в maven , если прописать ручками, можно сократить..... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 16:51 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonalex55555пропущено... Идея простая - проектировать. Ну а реализация сложная. Но для начала нужно выполнять хотя бы минимальные требования, давно известные всем. Например - всё должно быть простым. Это отнюдь не с потолка взявшееся правило. Но такое важное ограничение практически очень часто не соблюдается. Берут одну систему, к ней прикручивают другую, потом третью и в итоге получается адская смесь из всего на свете, которая работает только тогда, когда сама этого захочет. А вот если бы с самого начала думали о последствиях, продумывали бы вопросы сложности, совместимости, масштабирования, расширения и т.д., тогда бы массы проблем просто не возникло бы. Но хочется же сделать быстрее, плюс бизнес сроки зажимает. Вот и берут что есть, втыкают лишь бы заработало, а потом удивляются - ну почему вдруг у нас прожект так разросся? И управление зависимостями в мавене и прочем сильно далеко от идеала, но опять же - раз оно там есть, то по быстрому прикрутили и нарисовали в бложеке "сакцесс стори", ура-ура, мы победили. Только сложность-то осталась, победа локальная, а в целом ситуация только ухудшилась. Привычка делать всё "по быстрому" и "не парясь" до добра никогда не доводила. Эволюционный путь - предполагает скорость реализации. Если есть две команды. И одна из них выдает решение быстрее - то она всегда будет получать заказы на новые проекты. Риски сюда тоже заложены. Ведь первая команда их и будет решать. Вторая команда фейлит сроки. Фейлит один раз. Второй. А потом она вообще не участник разработки. Заказов нет. Эволюционный путь. Философские рассуждения о том что надо проектировать я 100% принимаю и соглашаюсь. Думания о последствиях также важны. Но сколько времени вы будете думать? День? Неделю? Месяц? Когда у вас будет definition of done? Вот в чем вопрос.Диалоги демагогов ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 17:28 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинant работает с зависимостями? внезапно Совершенно не внезапно, потому что это Maven, точнее его часть - Maven Ant Tasks, которая генерит данные для Ant. Maven Ant Tasks Note: This component is retired. It is no longer maintained ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 23:05 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
вадят.е. надо решить maven vc ant? Вообще лучше постепенно вырабатывать не усложняющий жизнь набор инструментов. А уж что там для сборки прикрутить - дело десятое. По зависимостям ещё OSGi работает. Ну и вообще граф зависимостей и операции с ним отнюдь не рокет сайнс, так что можно и самому небольшую утилитку слепить. Только ещё до зависимостей нужно уметь хотя бы элементарно выделять общие библиотеки и ложить их в общий для всего сервера каталог, а не пихать в каждое приложение, а то-ж в приложение напихают всего, потом так же в другое, потом в третье, и никто ничего не согласовывает, ну и лезут конфликты, я уж не говорю про объём. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 15:59 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
maytonЭволюционный путь - предполагает скорость реализации. Бизнесу важна цена. Скорость для них второстепенна. А вот убеждение заказчика в выполнении задачи в некий срок ХХХ, а потом срыв этого срока, это уже работа сейлзов, а не программистов. Хотя и программисты могут лишку оптимистичные заявки выкладывать, да. Но с другой стороны, наш бизнес живёт сегодняшним днём, завтрашний день его будет волновать когда он наступит, поэтому опять возникает стимул продать сроки, то есть ублажить хотелку сейчас, а дальше - что будет то и будет, главное бабло срубили. В общем опять программисты не виноваты. Но всё же помнить об этом нужно. И уметь делать надолго - тоже нужно. Хотя тренироваться в современном ынтырпрайзе на эту тему весьма и весьма сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 16:05 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
Беря во внимание вопрос топик-стартера мне нечего добавить или возразить. Все - верно. Но неверно будет впадать в каменный век и собирать сборки через java + jar archiver. Для мелкого проекта как у автора на это можно пойти. Но в ентерпрайзе этому места нет. Хотя еще раз я согласен с ценой разработки и скоростью. Надеюсь что на двумерной диаграмме будет совершенно очевидна заинтересованность заказчика в скорости внедрения бизнес-фичи и в качестве написанного кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 19:15 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
alex55555Только ещё до зависимостей нужно уметь хотя бы элементарно выделять общие библиотеки и ложить их в общий для всего сервера каталог, а не пихать в каждое приложение, а то-ж в приложение напихают всего, потом так же в другое, потом в третье, и никто ничего не согласовывает, ну и лезут конфликты, я уж не говорю про объём.напихать все в одно приложение(war) в этом есть смысл: разворачиваешь сервер( к примеру что-то из никсов) и просто деплоишь туда вар. надо переустановить сервер/ развернуть новый - не надо вспоминать , что там было - просто деплоишь и всё работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 19:41 |
|
Большой размер war файлов
|
|||
---|---|---|---|
#18+
ОзверинМавен - менее гибок, но вполне очевиден, если требуетсяОзверинкодга я в последний раз работал с этим древним отложением мамонтаКак-то у меня отношение ко всему этому хламу несколько иное, тезисы примерно такие: в свое время SUN придумал ant как замену make (при этом make живее всех живых ), позже передал его в ASF, а эти колхозники его взяли и убили (ну вообще такова репутация ASF - могила open source), а на замену выкатили какую-то фигню, которая ни зависимости не умеет толком (в моем идеализированно представлении) ни сборку сделать "условно сложный" (пара десятков модулей, интеграционные тесты, сборки под разные сервера приложений) проект на maven можно, но крайне сложно, основная причина тому: отсутствие зависимостей между модулями проекта, со всеми вытекающими, т.е.: -- "однопроходную" сборку делать априори плохо, потому что в "условно сложном" проекте участвуют разные команды, поэтому они предпочитают что-то собирать частями просто потому что так быстрее получается, делать отдельные "дыры" в сборке при помощи профилей - идея на самом деле так себе: во-первых, это сложно рефакторить, потому что подобный рефакторинг затрагивает остальных членов команды, во-вторых, сложность проекта увеличивается в разы, а когда мы всю эту кашу пытаемся затащить в CI, то становится еще более печально - появляются разные бранчи и пр. -- когда мы отказывается от "однопроходной" сборки, начинаются проблемы с тем, что чтобы удовлетворить зависимости между модулями нужно уже гадить в ~/.m2, и тут приходится выдумывать какую-то необычайную фигню - например, в CI использовать docker, что в свою очередь уже добавляет проблем разработчикам -- писать плагины для maven в том же проекте не получается, потому что у него там какое-то собственное мнение про класлоадер и в общем получается так, что maven - это удел проектов с не более пяти модулями, без интеграционных тестов и с убогой инфраструктурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2019, 10:27 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121519]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
101ms |
get tp. blocked users: |
1ms |
others: | 331ms |
total: | 517ms |
0 / 0 |