Spring boot gradle bootRun无法运行,但在IntelliJ中成功运行

Spring boot gradle bootRun无法运行,但在IntelliJ中成功运行,spring-boot,gradle,Spring Boot,Gradle,我有一个关于Gradle6和Java11的SpringBoot项目。该项目在IntelliJ IDE中成功运行。但是当我尝试通过gradle bootRun运行时。我遇到了一个奇怪的错误。来自依赖项目的类以某种方式阻碍了项目的进行。下面是我看到的错误消息。我看到其他人报告的类似错误,但没有明确的解决方案。任何帮助都将不胜感激 2020-08-01 02:29:41.842 INFO 5990 --- [ main] c.t.i.cloud.saga.hotel.HotelA

我有一个关于Gradle6和Java11的SpringBoot项目。该项目在IntelliJ IDE中成功运行。但是当我尝试通过gradle bootRun运行时。我遇到了一个奇怪的错误。来自依赖项目的类以某种方式阻碍了项目的进行。下面是我看到的错误消息。我看到其他人报告的类似错误,但没有明确的解决方案。任何帮助都将不胜感激

2020-08-01 02:29:41.842  INFO 5990 --- [           main] c.t.i.cloud.saga.hotel.HotelApplication  : Starting HotelApplication on sseshac-in-la02.local with PID 5990 (/Users/sseshac/src/saga_demo/hotel/build/classes/java/main started by sseshac in /Users/sseshac/src/saga_demo/hotel)
2020-08-01 02:29:41.847  INFO 5990 --- [           main] c.t.i.cloud.saga.hotel.HotelApplication  : No active profile set, falling back to default profiles: default
2020-08-01 02:29:42.015  WARN 5990 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.demo.iec.cloud.saga.hotel.HotelApplication]; nested exception is java.io.FileNotFoundException: class path resource [com/demo/iec/cloud/saga/SagaCommandListener.class] cannot be opened because it does not exist
2020-08-01 02:29:42.039 ERROR 5990 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.demo.iec.cloud.saga.hotel.HotelApplication]; nested exception is java.io.FileNotFoundException: class path resource [com/demo/iec/cloud/saga/SagaCommandListener.class] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:188) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:319) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
        at com.demo.iec.cloud.saga.hotel.HotelApplication.main(HotelApplication.java:15) ~[main/:na]
我还可以确认依赖类确实存在,并且已编译到预期的文件夹中

./saga/build/classes/java/main/com/demo/iec/cloud/saga/SagaCommandListener.class
这是一个包含三个spring boot项目的多模块项目

./hotel
./saga
./flight

酒店和航班都依赖于saga项目,SagaCommandLister是saga项目的一部分。

当一个spring boot项目依赖于另一个应用了“还”spring boot插件的项目时,就会发生这种情况。那么依赖项目中的类就有这个错误。不确定这是否会被视为bug。但无论如何,在
saga
中删除插件声明解决了这个问题