You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Install4J生成的应用启动失败:缺失Log4j类问题求助

问题概述

Java 17 + Spring Boot 2.7.17 + Maven 项目制作Windows安装包后,通过生成的my_app.exe启动(或作为Windows服务启动)时,提示缺失Log4j类org.apache.logging.log4j.util.Supplier,但直接运行项目jar文件时一切正常。已尝试添加相关Log4j依赖但问题未解决,执行./my_app.exe /run可复现该类缺失的堆栈错误。

可能原因

  • 安装包打包时依赖遗漏:Spring Boot打包插件生成可执行exe时,未正确包含Log4j的log4j-api包(Supplier类属于该包)。
  • 依赖冲突或版本不一致:项目中存在多版本Log4j依赖,打包exe时选取了不包含该类的旧版本,而直接运行jar时使用了正确版本。
  • 安装包构建工具配置问题:若用Launch4j、WinRun4J或Spring Boot自带exe打包功能,配置文件未正确指定依赖classpath,导致exe启动时找不到该类。
  • 模块路径问题:Java 17模块化系统下,Log4j相关依赖未被正确添加到模块路径,exe无法加载该类。

解决办法

1. 检查并统一Log4j依赖版本

在pom.xml中明确指定与Spring Boot 2.7.17兼容的Log4j版本(Spring Boot 2.7.x默认依赖2.17.x系列),避免依赖冲突:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.4</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.4</version>
</dependency>

执行mvn dependency:tree检查依赖树,排除冲突的旧版本Log4j依赖。

2. 调整Spring Boot Maven插件配置

确保spring-boot-maven-plugin配置正确,打包时未排除Log4j相关依赖:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.17</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

若用spring-boot:build-image或其他插件生成exe,确认参数包含完整依赖集合。

3. 检查第三方打包工具的Classpath配置

如果用Launch4j等工具生成exe,检查配置中的classpath设置,确保包含log4j-api-x.x.x.jar和log4j-core-x.x.x.jar,且路径指向正确的依赖文件位置。

4. 验证模块化配置(若启用)

若项目使用Java模块系统(module-info.java),添加对Log4j模块的依赖:

module your.project.module {
    requires org.apache.logging.log4j;
    requires org.apache.logging.log4j.core;
    // 其他必要模块依赖
}

打包exe时确保模块路径包含Log4j的模块jar文件。

5. 清理缓存并重新打包

执行以下命令清理项目缓存,基于最新依赖重新构建安装包:

mvn clean install

内容的提问来源于stack exchange,提问作者Michel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:07:21