gpt4 book ai didi

spring - 两个 Spring Boot 项目都带有 @SpringBootApplication

转载 作者:行者123 更新时间:2023-12-02 03:34:11 25 4
gpt4 key购买 nike

我有一个数据项目和 UI 项目。这两个项目都是 Spring Boot 应用程序。这两个项目都有相同的根包 (com.myorg),并带有一个用 @SpringBootApplication 注释的主类。

数据项目的主类是:

package com.myorg;
@SpringBootApplication
public class DataApplication {

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

}

UI项目的主类是:

package com.myorg;
@SpringBootApplication
public class UiApplication {

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

}

UI 项目通过以下 Gradle 依赖项依赖于数据项目:

dependencies {
compile('com.myorg:data:1.0')
}

如果我运行 UI 应用程序,它运行时不会出现问题。但是,如果我在 UI 应用程序中运行集成测试,如下所示:

package com.myorg
@RunWith(SpringRunner.class)
@SpringBootTest
public class UiIntTest {

@Test
public void contextLoads() {
}

}

发生以下初始化错误:

java.lang.IllegalStateException:找到多个@SpringBootConfiguration注释的类

在数据项目的主类中,如果我将 @SpringBootApplication 替换为

@Configuration
@EnableAutoConfiguration
@ComponentScan({ "com.myorg" })

尝试运行其集成测试时出现以下初始化错误:

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

例如,如果我尝试运行:

package com.myorg
@RunWith(SpringRunner.class)
@SpringBootTest
public class DataIntTest {

@Test
public void contextLoads() {
}

}

如何正确配置数据和 UI 项目?

最佳答案

您需要指定与 @SpringBootTest 一起使用的 Spring Boot Main 类:

@SpringBootTest(classes = YourUiSpringBootApp.class)

关于spring - 两个 Spring Boot 项目都带有 @SpringBootApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41730099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com