baomidou / mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development
https://baomidou.com
Apache License 2.0
16.36k stars 4.31k forks source link

Springboot3.2继承mybaties-plus,通过graalvm打包后启动时报错 #5845

Closed tangrufeii closed 10 months ago

tangrufeii commented 10 months ago

当前使用版本(3.5.4.1)

该问题是如何引起的?(graalvm打包成本地二进制文件)

重现步骤()

我在pom.xml这样配置:

com.alibaba.fastjson2 fastjson2 2.0.25
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.4.1</version>
        <exclusions>
            <exclusion>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

启动时正常 023-12-14T12:33:53.514+08:00 INFO 2580 --- [ main] com.hyway.ParseJsonToXmlApplication : Starting ParseJsonToXmlApplication using Java 21.0.1 with PID 2580 (E:\code\ParseJsonToXml\target\classes started by Administrator in E:\code\ParseJsonToXml) 2023-12-14T12:33:53.523+08:00 INFO 2580 --- [ main] com.hyway.ParseJsonToXmlApplication : No active profile set, falling back to 1 default profile: "default" 2023-12-14T12:33:54.555+08:00 INFO 2580 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8899 (http) 2023-12-14T12:33:54.566+08:00 INFO 2580 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2023-12-14T12:33:54.566+08:00 INFO 2580 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.16] 2023-12-14T12:33:54.609+08:00 INFO 2580 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2023-12-14T12:33:54.610+08:00 INFO 2580 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1032 ms | |. __ | | | |\/|)(| | |\ |)|||_\ / |
3.5.4.1 2023-12-14T12:33:54.980+08:00 WARN 2580 --- [ main] c.b.m.core.metadata.TableInfoHelper : Can not find table primary key in Class: "com.hyway.entity.PageGroup". 2023-12-14T12:33:54.981+08:00 WARN 2580 --- [ main] c.b.m.core.injector.DefaultSqlInjector : class com.hyway.entity.PageGroup ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. 2023-12-14T12:33:55.371+08:00 INFO 2580 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8899 (http) with context path '' 2023-12-14T12:33:55.377+08:00 INFO 2580 --- [ main] com.hyway.ParseJsonToXmlApplication : Started ParseJsonToXmlApplication in 2.251 seconds (process running for 2.823) 而启动打包之后的exe会报错

报错信息

2023-12-14T12:06:29.917+08:00 INFO 24864 --- [ main] com.hyway.ParseJsonToXmlApplication : Starting AOT-processed ParseJsonToXmlApplication using Java 21.0.1 with PID 24864 (E:\code\ParseJsonToXml\target\ParseJsonToXml.exe started by Administrator in E:\code\ParseJsonToXml\target) 2023-12-14T12:06:29.917+08:00 INFO 24864 --- [ main] com.hyway.ParseJsonToXmlApplication : No active profile set, falling back to 1 default profile: "default" 2023-12-14T12:06:29.920+08:00 WARN 24864 --- [ main] w.s.c.ServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: java.lang.ExceptionInInitializerError 2023-12-14T12:06:29.921+08:00 ERROR 24864 --- [ main] o.s.boot.SpringApplication : Application run failed

java.lang.ExceptionInInitializerError: null at org.apache.ibatis.logging.LogFactory.getLog(LogFactory.java:54) ~[na:na] at org.apache.ibatis.logging.LogFactory.getLog(LogFactory.java:47) ~[na:na] at org.mybatis.logging.LoggerFactory.getLogger(LoggerFactory.java:32) ~[na:na] at org.mybatis.spring.mapper.ClassPathMapperScanner.(ClassPathMapperScanner.java:62) ~[na:na] ... 13 common frames omitted Caused by: java.lang.NullPointerException: null at org.apache.ibatis.logging.LogFactory.getLog(LogFactory.java:52) ~[na:na] ... 16 common frames omitted

nieqiurong commented 10 months ago

5826 #5747