我有一个包含这个类的jar文件:
@Configuration
public class ExternalConfiguration {
@Bean(name = "tab")
public Tab getTab() {
return new Tab();
}
}
My Spring启动应用程序如下所示:
@EnableAutoConfiguration
@PropertySource("classpath:application.properties")
@ComponentScan("com.xxx")
public class Application implements CommandLineRunner {
@Autowired
private ApplicationContext context;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... arg0) throws Exception {
Object o1 = context.getBean("tab");
}
}
我在跑步时得到这个:
A component required a bean named 'tab' that could not be found.
我已经尝试过每个我能想到的loader.path的组合:
loader.path=/opt/lib
loader.path=/opt/lib/
loader.path=/opt/lib/external.jar
我把它放在application.properties中并在loader.properties中尝试过。 我还可以确认ExternalConfiguration的软件包属于com.xxx - 所以应该扫描组件是否正确?
我做错了什么?如何加载外部jar并让Spring像平常一样加载它。我不想将它添加到我的pom.xml中 编辑当我在我的pom中添加它时,它按预期工作。
我真正想要的是告诉Spring“加载此目录中的所有内容”
有什么想法吗?