我有一个弹簧靴项目“ A”。它包含一个名为 / helloworldA
的rest api获取请求。我创建了另一个弹簧启动项目“ B”。我已经将“ A”添加为对“ B”的依赖。现在,我期望运行项目“ B”时 / helloworldA 能够正常工作。但这不起作用
答案 0 :(得分:2)
您应该在A中定义一个配置。
@Configuration
@ComponentScan(/**scan all beans from A**/)
public class ConfigA {
}
然后,在B中,您应该导入配置。
@Configuration
@Import(ConfigA.class)
public class ConfigB {
}
现在应该通过B的组件扫描来检测A中的bean。
答案 1 :(得分:0)
尽管@alexrolea答案很适合该问题,但在执行此步骤之前,我还有另一个问题。
maven或gradle的spring boot插件有2个任务:- jar任务/执行-这将创建具有所有依赖项的jar。这可以用作其他项目的依赖项。但这不是可执行的jar。我的意思是我们不能将这个jar运行为“ java -jar” bootJar任务/执行-在jar任务/执行之后运行。这将创建一个可启动的jar。并且此jar内的类的结构不同。例如:-名为com.eg.Config的类位于/ BOOT-INF / classes / com / eg / Config中。由于这种结构已修改,因此另一个项目将无法使用此jar作为依赖项,因为另一个项目不知道此结构
我的问题是默认情况下
在gradle中,默认情况下禁用jar任务。我启用了
jar { 启用=真 }
我使用以下命令更改了从bootJar任务创建的jar的名称
bootJar { 分类器='启动' }