我有一个myapp父pom类型maven项目与myapp-core和myapp-web模块.myapp-core模块作为依赖项添加到myapp-web.
myapp-core模块中的所有类都位于root包com.myapp.core中,myapp-web模块中的所有类都位于root包com.myapp.web中
主要的Application.java也在com.myapp.web包中.由于我的核心模块根包不同,我包括ComponentScan的公共基本包"com.myapp",如下所示:
@Configuration
@ComponentScan(basePackages="com.myapp")
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
现在令人惊讶的是,如果我使用Run As - > Spring Boot App运行此应用程序,它运行正常.但是,如果我将其作为运行方式 - > Java应用程序运行,则会失败并显示错误,说它无法在myapp-core模块中找到bean.
如果我把我Application.java的com.myapp包裹移动它可以正常工作.它应该工作,即使我也将其作为Java应用程序运行,对吧?