在Spring Boot中加载外部Jar

时间:2018-01-14 16:42:42

标签: java spring-boot

我有一个包含这个类的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“加载此目录中的所有内容”

有什么想法吗?

0 个答案:

没有答案