有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在spring boot中加载外部JAR

我们如何在运行时加载额外的jar和引导jar

主jarMain。罐子

附加jarSupport。罐子

Main项目是一个gradle引导项目

Support项目不是gradle项目,但被赋予了对所需JAR的编译时依赖性

支持项目内容:

@RestController
@RequestMapping("/test")
public class CustomService implements WebMvcConfigurer {


    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public @ResponseBody String get() {
        return "Done!!";
    }
}

我尝试的是:

java -cp Support.jar:Main.jar -Dloader.path=Support.jar -Xbootclasspath/p:alpn-boot-8.1.11.v20170118.jar -Dloader.main=com.abc.app.MyApplication  org.springframework.boot.loader.PropertiesLauncher

启动正常,但端点未注册

注: 我提到了注释扫描

@SpringBootApplication
@ComponentScan("com.abc")
public class MyApplication {
   ....
}

也是主要原因。jar将由不同的用户从不同的地方运行。每个用户都可以提供自己版本的支持。罐子因此,将依赖项硬编码到主项目的gradle文件中是不可行的


共 (1) 个答案

  1. # 1 楼答案

    尝试将@ComponentScan(basePackages=full.name.of.customservice.package添加到spring应用程序配置中,或者使CustomService@SpringApplication类的包相同