首页 > 解决方案 > 运行时找不到 Spring 开发工具类

问题描述

我创建了一个 SpringBoot 应用程序,它在 Maven pom 中有 spring-boot-devtools

我可以在 Intellji 中毫无问题地运行它。但是如果我从正在构建的 jar 中运行它,它会引发以下异常。它给出了以下异常。看起来 devtool jar 没有打包?!

org.springframework.beans.factory.BeanDefinitionStoreException: 无法解析配置类 [com.xxxTestApplication]; 嵌套异常是 java.io.FileNotFoundException: 类路径资源 [org/springframework/boot/devtools/filewatch/FileChangeListener.class] 无法打开,因为它不存在

标签: spring-bootmaven

解决方案


默认情况下,Devtools 从打包的 jar 中排除,以避免在生产部署中意外使用它。如果您想在打包的 jar 中包含 Devtools,您可以选择加入。为此,请在您的插件配置中设置excludeDevtools为:false

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludeDevtools>false</excludeDevtools>
            </configuration>
        </plugin>
    </plugins>
</build>

推荐阅读