Springboot импортирует классы из одного проекта в другой - PullRequest
0 голосов
/ 27 мая 2020

моя схема выглядит следующим образом:

-project1 (springboot maven Initializr)
  -model
  -service
  -controller
  -properties(mongodb)
-project2 (springboot maven Initializr)
  -controller (import project1 service)

Я уже добавил ее в зависимости и вызываю службу своего проекта1 следующим образом:

import com.example.project1.service.Document_service;

Я не набираю ошибка в моем проекте2, но когда я запускаю проект2, у меня возникает ошибка:

com/example/project2/controller/project2_controller.java:[11,33] package com.example.project1.service 
does not exist
symbol:   class Document_service
location: class com.example.project2.controller.project2_controller
-> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

enter image description here enter image description here enter image description here

Мне нужна помощь для запуска проекта service1 в моем проекте2, как я могу это сделать?

Ответы [ 3 ]

1 голос
/ 28 мая 2020

Попробуйте клонировать этот проект Clef Workflow . И посмотрите мою архитектуру. Я стараюсь это делать.

1 голос
/ 28 мая 2020

Если я правильно понял ваш вопрос, вы сделали зависимость одного проекта весенней загрузки от другого.

Это, в общем, неправильный подход, и его не следует использовать, потому что артефакт весенней загрузки на самом деле не является JAR, он имеет расширение «jar», но не имеет структуры jar и, следовательно, может java не может использоваться самим *1011* во время выполнения или инструментом сборки в качестве зависимости (это очень специальная настройка с настраиваемым загрузчиком классов, разработанным командой загрузки Spring, со всеми внутренними зависимостями, запеченными в папке BOOT-INF/lib).

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

Тогда project1 и project2 могут оба добавить этот «общий» модуль в качестве зависимости, и это должно работать.

0 голосов
/ 27 мая 2020

попробуйте добавить в project2 следующее:

@SpringBootApplication
@ComponentScan({"com.example.project1", "com.example.project2" })
...