我在Eclipse的Maven项目中有两个Spring Boot。让我们称之为project1和project2。我必须在project2的project1中使用一些POJO类。所以我让project2成为project1的依赖项。 如果我在eclipse中使用project1它工作正常。但是,如果我从project1创建war文件,我会在Tomcat启动期间收到异常。
Could not autowire field: private com.project2.entity.SomeBean com.project2.controller.SomeController.someBean;
所以看来Spring试图在project2中自动装配字段,而我只想在project2中使用一些POJO。你知道如何预防吗?
这是我的project1应用程序。如您所见,我尝试过ComponentScan的exlude过滤器但没有成功。我想当我从Tomcat使用它时,它的工作方式会有所不同。
@SpringBootApplication
@ComponentScan(basePackages = {"com.project1"} ,excludeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, pattern = "com.project2.*"))
public class Project1Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(AbstractServiceGuiApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(AbstractServiceGuiApplication.class, args);
}
}