【问题标题】:Spring Boot Devtools: exclude multiple modules from restart classloaderSpring Boot Devtools:从重启类加载器中排除多个模块
【发布时间】:2018-05-10 20:41:41
【问题描述】:

从文档 Customizing the Restart Classloader 中,您可以使用 META-INF/spring-devtools.properties 添加 devtools 依赖项并从重启类加载器中排除不需要的 jar。

问题

我来到了多模块 maven 项目。大约50个模块。不要问我为什么,我也不知道。据我了解,要从重启类加载器中排除module49.jar,我必须创建module49/src/main/resources/META-INF/spring-devtools.properties 文件。要排除 47 个模块的 jar,我必须创建 47 个 spring-devtools.properties 文件,对吧?

问题

我知道,50 个 maven 模块是完全错误的方法,但是 有没有办法创建一个 spring-devtools.properties 文件?

附言

就我而言,最好从重启类加载器中排除所有内容,并创建一个支持热重载的模块的小白名单。

【问题讨论】:

    标签: spring maven spring-boot spring-boot-devtools


    【解决方案1】:

    您可以将 spring-devtools.properties 文件放入应用程序的主模块(从 SpringBootApplication 开始)并将所有模块写入这个文件中。例如:

    restart.exclude.first=/modules/first/
    restart.exclude.second=/modules/second/
    

    等等……

    就我而言,模块包含在更大的组中。如果您也一样,可以将组放在那里:

    restart.exclude.group1=/modules/group1/
    ...
    

    【讨论】:

    • @user2532617 问题是我无法配置从启动器模块到核心模块的路径。两个模块 launchercore 模块位于同一级别。当我做jar -tf launcher.jar | grep core-1.0.jar 时,我得到BOOT-INF/lib/core-1.0.jar。但是将BOOT-INF/lib/core-1.0.jar 添加到spring-devtools.properties 文件并不会从重启类加载器中排除core-1.0.jar
    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2020-02-15
    • 2018-03-27
    • 1970-01-01
    相关资源
    最近更新 更多