Как преобразовать проект Springboot в эквивалентный многомодульный проект Maven ⇐ JAVA
Как преобразовать проект Springboot в эквивалентный многомодульный проект Maven
Итак, у меня есть проект весенней загрузки, содержащий веб-службы приложения. Теперь я хочу добавить в свое приложение новый модуль, не связанный с веб-сервисами. Я обнаружил, что для этого в Java можно создать многомодульный проект.
Последние часы я пытался преобразовать весь проект в один подмодуль более крупного проекта. Я вроде этого добился, но некоторые плагины изменились, и мой код выдает ошибку о циклической зависимости, так что это недопустимое решение. Мой код должен работать так же, как и до изменения структуры проекта.
Я думаю, что проблема связана с тем, что для преобразования этого проекта в многомодульный проект мне нужно было удалить родительский элемент POM моего приложения (spring-boot-starter), потому что новый родительский элемент будет глобальный проект.
Итак, в этой документации объясняется, что нужно делать, чтобы не использовать родительский POM.
Они говорят вам, что для переопределения библиотек и достижения того же результата вам нужно поместить зависимости в раздел dependentManagement. Это не работает для меня. При этом зависимости не используются для компиляции и исчезают из maven, в результате чего библиотеки в моем коде не обнаруживаются.
Еще одна вещь, которая сильно меняется (и, возможно, является источником моей ошибки), заключается в том, что почти все плагины maven меняют версии при удалении родителя. Нужно ли мне устанавливать все плагины и их версии вручную теперь, когда они не управляются родительским POM Spring-Boot? Имеет ли смысл думать, что, возможно, из-за смены версий плагинов теперь в моем коде появилась циклическая ссылка?
Я хотел бы увидеть исчерпывающее пошаговое руководство по преобразованию проекта Spring Boot в многомодульный проект Maven (где одним из подмодулей является исходный проект Spring-Boot, преобразованный в модуль). В Интернете есть множество инструкций и руководств, но в большинстве случаев они не объясняют, почему они делают то, что делают, а также не являются исчерпывающими. Они обычно используют очень маленькие проекты-примеры и мне кажется, что они не учитывают всех аспектов, о которых нужно позаботиться при миграции большого проекта. Я хотел бы посмотреть, как я могу переместить проект, сохранив при этом все его аспекты, плагины и зависимости, чтобы по сути это был клон исходного проекта, но в модуле и работающий точно так же.
Обратите внимание, что могут быть вопросы, похожие на тот, который я публикую, но ответы меня совершенно не удовлетворяют и/или не работают для меня.
Вы также можете ответить мне, предложив любой возможный обходной путь. Например, самым чистым было бы решение, подразумевающее не удалять родительский POM Spring-Boot.
Большое спасибо за помощь. Для меня это очень ценно.
Итак, у меня есть проект весенней загрузки, содержащий веб-службы приложения. Теперь я хочу добавить в свое приложение новый модуль, не связанный с веб-сервисами. Я обнаружил, что для этого в Java можно создать многомодульный проект.
Последние часы я пытался преобразовать весь проект в один подмодуль более крупного проекта. Я вроде этого добился, но некоторые плагины изменились, и мой код выдает ошибку о циклической зависимости, так что это недопустимое решение. Мой код должен работать так же, как и до изменения структуры проекта.
Я думаю, что проблема связана с тем, что для преобразования этого проекта в многомодульный проект мне нужно было удалить родительский элемент POM моего приложения (spring-boot-starter), потому что новый родительский элемент будет глобальный проект.
Итак, в этой документации объясняется, что нужно делать, чтобы не использовать родительский POM.
Они говорят вам, что для переопределения библиотек и достижения того же результата вам нужно поместить зависимости в раздел dependentManagement. Это не работает для меня. При этом зависимости не используются для компиляции и исчезают из maven, в результате чего библиотеки в моем коде не обнаруживаются.
Еще одна вещь, которая сильно меняется (и, возможно, является источником моей ошибки), заключается в том, что почти все плагины maven меняют версии при удалении родителя. Нужно ли мне устанавливать все плагины и их версии вручную теперь, когда они не управляются родительским POM Spring-Boot? Имеет ли смысл думать, что, возможно, из-за смены версий плагинов теперь в моем коде появилась циклическая ссылка?
Я хотел бы увидеть исчерпывающее пошаговое руководство по преобразованию проекта Spring Boot в многомодульный проект Maven (где одним из подмодулей является исходный проект Spring-Boot, преобразованный в модуль). В Интернете есть множество инструкций и руководств, но в большинстве случаев они не объясняют, почему они делают то, что делают, а также не являются исчерпывающими. Они обычно используют очень маленькие проекты-примеры и мне кажется, что они не учитывают всех аспектов, о которых нужно позаботиться при миграции большого проекта. Я хотел бы посмотреть, как я могу переместить проект, сохранив при этом все его аспекты, плагины и зависимости, чтобы по сути это был клон исходного проекта, но в модуле и работающий точно так же.
Обратите внимание, что могут быть вопросы, похожие на тот, который я публикую, но ответы меня совершенно не удовлетворяют и/или не работают для меня.
Вы также можете ответить мне, предложив любой возможный обходной путь. Например, самым чистым было бы решение, подразумевающее не удалять родительский POM Spring-Boot.
Большое спасибо за помощь. Для меня это очень ценно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Многомодульный проект Maven: проект модуля не «видит» метамодели от родного брата
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Многомодульный проект Maven: проект модуля не «видит» метамодели от родного брата
Anonymous » » в форуме JAVA - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблемы развертывания - многомодульный проект загрузочного jar плагина wildfly maven
Anonymous » » в форуме JAVA - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-