学习Spring Boot作为一些C / C ++守护进程的替代品。我的目标是将一个项目编译成一个jar / war。然后使用多个shell脚本只需通过命令行启动我想要的那个。我正在使用Eclipse Kepler来开发和测试各个Spring Boot应用程序,并发现了一些不需要的行为。在同一个包中有4个Spring Boot应用程序类,如果我使用Eclipse启动配置启动其中任何一个,则所有4个启动都在同一个Spring Boot中启动。我怀疑因为它们都有@SpringBootApplication注释,并且启动它会导致Spring Boot“扫描”当前的包和子包。
我的问题是,有没有办法在同一个包中安装多个Spring Boot应用程序?我是否只使用一个@SpringBootApplication创建一个ControllerApplication并传入我想要启动的守护进程名称并从那里开始?还是其他一些选择?或者我是否需要为每个守护进程创建一个单独的项目? tia,adym
答案 0 :(得分:7)
您可以使用@ComponentScan's excludeFilters
@ComponentScan(basePackages = "your.package",
excludeFilters = @Filter(SpringBootApplication.class))
从这一点开始,您可能会遇到很多依赖性问题,您可以使用相同的原则解决它们。
这可能在您的IDE中有效,但生成的spring boot jar只有一个主类属性。 因此,即使您找到解决方法,我相信您应该:
看看这些其他答案,启动带有多个弹簧配置文件的弹簧启动应用程序: