springboot从一个项目到另一个项目的导入类

时间:2020-05-27 18:28:16

标签: java spring spring-boot

我的计划如下

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

我已经将其添加到依赖项中,并按如下方式调用我的project1的服务:

import com.example.project1.service.Document_service;

在project2中没有任何键入错误,但是在运行project2时出现错误:

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

我需要帮助才能在我的project2上运行service1项目,该怎么办?

3 个答案:

答案 0 :(得分:1)

尝试克隆此项目Clef Workflow。看看我的架构。 我会尽力做到这一点。

答案 1 :(得分:1)

如果我的问题正确,那么您已经将一个Spring Boot项目依赖于另一个。

通常,这是一种错误的方法,不应该执行,因为Spring Boot构件不是真正的JAR,它具有扩展名“ jar”,但没有jar结构,因此不能由Java本身在运行时使用或作为依赖项使用构建工具(它是由Spring Boot团队开发的具有自定义类加载器的非常特殊的设置,所有内部依赖项都放入了BOOT-INF/lib文件夹中)。

在分辨率方面,请考虑引入一个包含所有相关代码的模块,但这样它就不会成为Spring Boot服务本身-只是一个常规的JAR。

然后project1project2都可以将此“通用”模块添加为依赖项,并且应该可以工作。

答案 2 :(得分:0)

尝试在project2中添加以下内容:

goalTableView