我使用Spring Initializr创建了两个模块:
api(即 Spring Web)
db(这是 Spring Data MongoDB)
我把它们放在同一个项目中,在某种程度上它们现在是子模块。
在创建测试之前,我可以mvn clean install使用 BUILD SUCCESS 消息。没有问题。
但是,如果我尝试创建一个测试(或者甚至在主结构中的控制器中使用它),它使用db模块存储库类从 MongoDB 获取数据,mvn clean install将指责包不存在,尽管 IntelliJ 可以识别和索引它和文件存在。
结构是:
api
\- src/main/java
\- com.example.api.controllers
\- UserController.java
\- src/test/java
\- com.example.api.controllers
\- UserControllerTest.java
db
\- src/main/java
\- com.example.db.repositories
\- UserRepository.java
model
\- src/main/java
\- com.example.model
\- User.java
Run Code Online (Sandbox Code Playgroud)
应用程序.java
package com.example.api;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@SpringBootApplication
public …Run Code Online (Sandbox Code Playgroud)