首页 > 解决方案 > 项目中启用 spring-boot-maven-plugin 的类不能导入到其他模块

问题描述

我有一个 Spring Boot 模块,其中包含 Spring Boot Application 类(WebServiceApplication.java)

@SpringBootApplication
public class WebServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(WebServiceApplication.class, args);
    }
}

该模块的 pom.xml 包含 spring-boot-maven-plugin:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.4.4</version>
        </plugin>
    </plugins>
</build>

然后我在一个不同的模块中有另一个集成测试,需要在注释中引用这个模块:

@SpringBootTest(classes = WebServiceApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyControllerTest {
....
}

集成测试模块依赖于包含 WebServiceApplication 的模块(并具有 spring-boot-maven-plugin)

    <dependency>
        <groupId>com.mypackage</groupId>
        <artifactId>web</artifactId>
    </dependency>

它在 IntelliJ 中运行良好。但是,如果我mvn clean install在控制台中运行,它会抱怨找不到 WebServiceApplication。

不过,如果我注释掉 spring-boot-maven-plugin 就可以了。

有人可以告诉它是什么原因造成的,以及如何在不注释掉 spring-boot-maven-plugin 的情况下使其工作?

标签: javaspring-boot

解决方案


推荐阅读