LINUX.ORG.RU

eclipse, java, сервлеты, packages - помогите план обучения построить

 , ,


0

3

Народ, решил тут по java знания освежить, ппц голова что то пухнет, хреново что то дружба с eclipse идет лет семь назад спокойно в произвольном редакторе накидывал сервлет, прикручивал к нему meta-inf, web-inf, спокойно без геморроя накидывал в древнем ant е правила сборки, собирал нужные packages вручную, в нужных модулях организовывал работу c БД загружая через class.Forname и далее через ResultSet ы и собирал себе web сервлет, сейчас открываю eclipse, от мануалок в нете голова пухнет - все для обезьяны - «создайте проект по такому шаблону и пишите в файле сервлета в doGet что вам надо» - а дальше то как с другими модулями более менее правильно а не по обезьяньи в проект это все поженить? Хочу вообще понять - можно ли если сделал свои packages с jpa и прочей логикой и сервлеты - как это в ide потом правильно женить чтобы было более менее переносибельно между ними, ведь есть еще maven, gradle с помощью которых можно проект собирать, как с нуля это организовать чтобы потом все вменяемо между ide переносилось или хотя бы созданное в eclipse можно было собирать без него или на idea - киньте вменяемую ссылку если есть, или по любому по длинному кругу идти - мануалка gradle/maven и далее полная мануалка по ide? Пока так и чешутся руки по старинке ant ом собирать и в консоли javac говорить

★★

Надеюсь, ты хотел сказать семнадцать лет назад? Потому что семь лет назад голые сервлеты и сборку антом можно было разве что в замшелых банках найти.

А так, как тебе уже выше сказали, начинай со спринга. Про гредл забудь, только мавен, только хардкор. И эклипс выкинь на помойку.

cocucka ★★★★☆
()

Книга: Дэвид Хеффельфингер «Разработка приложений Java EE 7 в NetBeans 8», ДМК Пресс. Ссылка: https://www.ozon.ru/product/razrabotka-prilozheniy-java-ee-7-v-netbeans-8-140032779/

Более новая: «Pro Apache NetBeans: Building Applications on the Rich Client Platform» Copyright © 2020 by Ioannis Kostaras, Constantin Drabo, Josh Juneau, Sven Reimers, Mario Schröder, Geertjan Wielenga

Eclipse IDE не советую. В этом сегменте разработки рулит Netbeans IDE.

iZEN ★★★★★
()
Ответ на: комментарий от hooj

idea чтоль самая распространенная?

Бесплатная IDEA — это удобный текстовый редактор с подсветкой синтаксиса и автодополнением кода. Платная версия имеет кое-какие интеграционные возможности, но не поддерживается для российских разработчиков по политическим причинам.

iZEN ★★★★★
()
Ответ на: комментарий от hooj

и с maven - народ никуда не ползет, мейнстрим сейчас? или на что то меняют?

Maven и Ant — основные инструменты совпровождения жизненного цикла кода в Netbeans IDE. Можно легко подключить Gradle, но с ним сразу прочувствуете тормоза.

iZEN ★★★★★
()
Ответ на: комментарий от hooj

Сейчас с появлением lsp можно хоть в виме на яве писать. А так стандарт де факто intellij, потом vs code, потом уже нетбинс и прочие ide из склепа.

Мавен как ни крути стандартная среда сборки. Gradle — для хипстеров.

cocucka ★★★★☆
()
Ответ на: комментарий от bo4ok

рофлите

Сомневаюсь что тут троллиниг. Скорее всего человек застрял где-то там в Legacy-лапше на EE и в реальный мир не вылазил десять лет.

Чудовищная профдеформация в общем. Ну как знаешь, если бы Delphi-программист лепивший формочки с 2000 года сегодня бы для создания приложения-кнопки накатывал крякнутую RAD Embercaddero.

EXL ★★★★★
()
Ответ на: комментарий от EXL

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

hooj ★★
() автор топика
Ответ на: комментарий от cocucka

так, понятно, по ходу много чего выбравшись из склепа узнавать надо. Сервера приложений сейчас повально чтоль из энтерпрайза выкидывают? понятно что сейчас в контейнер сажают что ни попадя и в кубер кидают, но кроме спрингбута наверное что то еще мейнстримовое сейчас актуально? Уже никто ниде фреймворка чтоль не опускается? Бэкенд в виде классической sql бд еще не совсем выкинули хоть? oracle теплый ламповый остался? или повальный nosql? с мордой только через json ы общаются, или еще что удумали? на бэке меж модулями рестами для синхрона и кафкой для асинхрона пользуются? grpc еще живое или тоже в сторону помойки ползет?

hooj ★★
() автор топика
Ответ на: комментарий от bo4ok

я до сих пор понять не могу, вы рофлите с дремучести упомянутых ТСом технологий или всерьёз вот это вот?

Надо просто вылезти из нулевых-десятых и очнуться от хипстерского Спринга, разваливающегося под своей тяжестью.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

LOR больше не на Tomcat?

Тоже мне показатель. Ну и в движке ЛОРа Java ЕЕ никогда и не пахло. Томкат это сервлет-контейнер, а не сервер энтерпрайз приложений.

Java EE никогда не была частью JDK.

Я имел ввиду, что это была официальная спека от sun. А щас ее пилят левые херы ради сохранения легаси на плаву.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

А щас ее пилят левые херы ради сохранения легаси на плаву.

Вылазь из ямы непонимания.

Легаси без кардинального переписывания и перепроектирования не работает в современных версиях Glassfish и WildFly.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Не нравится спринг, возьми легковесный микронаут. Хочешь еще легче? Возьми нетти и запили свое. Нафига по дедовским заветам деплоиться на сервер приложений? Можно обернуться MDBшечками, пихать распределенные транзакции и тормозить на обычных операциях, периодически ловя дедлоки.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

Не нравится спринг, возьми легковесный микронаут. Хочешь еще легче? Возьми нетти и запили свое. Нафига по дедовским заветам деплоиться на сервер приложений?

Нафига? Это всё нестандартное. Сегодня есть, а завтра другое.

iZEN ★★★★★
()

лет семь назад спокойно в произвольном редакторе накидывал сервлет, прикручивал к нему meta-inf, web-inf, спокойно без геморроя накидывал в древнем ant е правила сборки, собирал нужные packages вручную

7 лет назад это 2015 год, а то что ты описал больше похоже на 17 лет назад.

10 лет назад ANT уже был легаси и новые проекты начинались с использованием Gradle или Maven, а старые быстро мигрировали на Gralde/Maven. Ведь эти сборщики являются еще и пакетными менеджерами, они позволили не отправлять на VCS бинарники зависимостей (как это было с ANT), все зависимости декларируются в файле сборки проекта и все подтягивается автоматически на машинах разработчиков, на continuous integration, на серверах.

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

Создаешь проект под Maven или Gradle, можно прямо в терминале (я так делаю), IDE остается только их импортировать, комитить в репазитарий файлы IDE не нужно, никто в здравом уме не завязывает проекты на конкретные IDE.

мануалка gradle/maven

Да, с документации gradle/maven нужно подружиться, а IDE используй самую привычную тебе.

P.S. Бесплатная Idea community edition подходит и для энтерпрайза, интеграции с фреймворками ненужны. Но в ней нет поддержки работы с кодом на JS, TypeScript и всяких Template Languages, а если таки Template Language понадобится в собственном проекте то можно взять Thymeleaf темплейты которого являются валидным XML и тогда можно работать :)

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 4)
  1. Разберись с maven, как собрать обычный jar, как прикрутить к нему зависимости. Это не сложно.

  2. Поставь Idea и там заимпорти своё приложение. Она умеет импортировать из pom.xml. В дальнейшем все настройки проекта прописывай в pom.xml и из идеи обновляй проект.

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

  4. Разберись со Spring MVC без Boot. Твоя задача - сделать hello world приложение, без базы и тд, это на данном этапе лишнее. Это приложение должно собраться в war и задеплоиться на томкат ручками.

  5. Теперь настала пора Boot-а. Если вкратце - то он подтягивает томкат в виде зависимостей и запускает его сам и деплоит в него твоё Spring приложение. Т.е. ты собираешь не war а jar, в зависимостях у которого спрятан tomcat. Кроме этого он конфигурирует Spring, используя некие умолчательные значения, приносит кучку полезного функционала, ну и в 2022 году все жава приложения пишут на буте. Поэтому мимо него пройти не получится никак. Возвращайся на пункт 2 и делай своё приложение на буте. Это самый сложный пункт, на разборки со всеми нюансами можно несколько месяцев легко угрохать. Boot со своими обещаниями всё упростить, всё настолько усложнил, что просто трындец. Но ничего не поделаешь, в 2022 года программирование должно быть сложным. Всё простое выкинули. Зато порог входа стал как никогда высок.

После всего этого можно gradle немножко потыкать, для кругозора.

Для полноценного освоения спринга со всеми его закидонами нужно года два и соответствующие проекты. Не думай, что сможешь за месяц стать профи. За месяц ты сможешь чуть-чуть начать ориентироваться в хелло-ворлде.

Это всё если тебе надо освежить свои знания и актуализировать. Если просто что-то там написать, то ant работает так же, как и 20 лет назад, вперёд и с песней.

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

vbr ★★★
()
Последнее исправление: vbr (всего исправлений: 3)
Ответ на: комментарий от vbr

Spring - это НЕСТАНДАРТНОЕ решение. Для обучения студентов он не нужен и вреден.

IDEA - это западная проприетарщина, которая больше не поддерживается в России. Завязываться на проприетарные западные технологии, которые ещё и нестандартизированы, по уши - это верх самодурства в текущих условиях.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Spring - это НЕСТАНДАРТНОЕ решение. Для обучения студентов он не нужен и вреден.

Spring – Топовый и самый популярный фреймворк в экосистеме Java, умение пользоваться им сегодня обязательное требование для высококвалифицированных Java-программистов.

IDEA - это западная проприетарщина, которая больше не поддерживается в России. Завязываться на проприетарные западные технологии, которые ещё и нестандартизированы, по уши - это верх самодурства в текущих условиях.

IDEA – Топовая и самая популярная IDE для разработки приложений, имеющая множество ответвлений, начиная с Android Studio и заканчивая всякими WebStorm’ами. Незаменимый инструмент для высококвалифицированного программиста, который экономит своё время.

EXL ★★★★★
()
Ответ на: комментарий от iZEN

Spring - это НЕСТАНДАРТНОЕ решение.

jakarta это тоже нестандартное решение. Единственное стандартное решение это com.sun.net.httpserver, хе-хе.

Для обучения студентов он не нужен и вреден.

Обучать нужно тому, чем пользуются люди.

IDEA - это западная проприетарщина, которая больше не поддерживается в России.

Idea это самая популярная IDE с открытым исходным кодом и в этом отношении ничем не хуже альтернатив, а по факту на голову лучше.

Завязываться на проприетарные западные технологии, которые ещё и нестандартизированы, по уши - это верх самодурства в текущих условиях.

Тут согласен.

vbr ★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от vbr

Idea это самая популярная IDE с открытым исходным кодом и в этом отношении ничем не хуже альтернатив

Idea в базовом бесплатном варианте представляет из себя кусок редактора кода и больше ничего. Это не IDE (интегрированная среда разработки), а приложение для редактирования кода. Всё.

Netbeans из коробки - это продвинутая IDE для создания приложений. Обеспечивает полную интеграцию с серверами приложений и сервлетными движками прямо из самой среды, взаимодействие с распределёнными репозиториями бинарного (Maven) и исходного кода (Git, Mercurial).

Интеграция - это то, чего не хватает Idea Community, где всё нужно делать руками в редакторе кода по многу раз одно и то же. В Netbeans используются шаблоны проектов, от десктопных и консольных приложений до web-приложений, использующих различные фреймворки и языки программирования. Сравнение возможностей редактора кода и IDE по экономии непроизводительного времени программиста - не в пользу первого.

iZEN ★★★★★
()
Ответ на: комментарий от vbr

jakarta это тоже нестандартное решение.

Jakarta - это название комьюнити, которое ведёт открытый проект Java EE. Это сообщество программистов, придерживающихся культуры программирования, обоснованной Sun и Oracle, от которых пришёл открытый код Java EE.

Spring - это альтернативный фреймворк, появившийся в противовес EJB 2.0 и Servlets дремучих версий. Все полезные нововведения из Spring перекочевали в Java EE последних версий. Spring больше не нужен.

iZEN ★★★★★
()