生成代码,报空指针

Blade 未结 1 148
chenhs321
chenhs321 2025-08-04 18:00
悬赏:5

一、该问题的重现步骤是什么?

  1. 配置生成代码


  2. /*
     *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions are met:
     *
     *  Redistributions of source code must retain the above copyright notice,
     *  this list of conditions and the following disclaimer.
     *  Redistributions in binary form must reproduce the above copyright
     *  notice, this list of conditions and the following disclaimer in the
     *  documentation and/or other materials provided with the distribution.
     *  Neither the name of the dreamlu.net developer nor the names of its
     *  contributors may be used to endorse or promote products derived from
     *  this software without specific prior written permission.
     *  Author: Chill 庄骞 (smallchill@163.com)
     */
    package org.springblade.test;
    
    
    import org.springblade.develop.constant.DevelopConstant;
    import org.springblade.develop.support.BladeCodeGenerator;
    
    /**
     * 代码生成器
     *
     * @author Chill
     */
    public class CodeGenerator {
    
        /**
         * 代码生成的模块名
         */
        public static String CODE_NAME = "任务";
        /**
         * 代码所在服务名
         */
        public static String SERVICE_NAME = "task";
        /**
         * 代码生成的包名
         */
        public static String PACKAGE_NAME = "org.springblade.modules.task";
        /**
         * 前端代码生成风格
         */
        public static String CODE_STYLE = DevelopConstant.SABER_NAME;
        /**
         * 前端代码生成地址
         */
        public static String PACKAGE_WEB_DIR = "D:/code";
        /**
         * 需要去掉的表前缀
         */
        public static String[] TABLE_PREFIX = {""};
        /**
         * 需要生成的表名(两者只能取其一)
         */
        public static String[] INCLUDE_TABLES = {"task"};
        /**
         * 需要排除的表名(两者只能取其一)
         */
        public static String[] EXCLUDE_TABLES = {};
        /**
         * 是否包含基础业务字段
         */
        public static Boolean HAS_SUPER_ENTITY = Boolean.TRUE;
        /**
         * 基础业务字段
         */
        public static String[] SUPER_ENTITY_COLUMNS = {"id", "create_time", "create_user", "create_dept", "update_time", "update_user", "is_deleted"};
    
        /**
         * RUN THIS
         */
        public static void main(String[] args) {
           BladeCodeGenerator generator = new BladeCodeGenerator();
           generator.setCodeName(CODE_NAME);
           generator.setServiceName(SERVICE_NAME);
           generator.setCodeStyle(CODE_STYLE);
           generator.setPackageName(PACKAGE_NAME);
           generator.setPackageWebDir(PACKAGE_WEB_DIR);
           generator.setTablePrefix(TABLE_PREFIX);
           generator.setIncludeTables(INCLUDE_TABLES);
           generator.setExcludeTables(EXCLUDE_TABLES);
           generator.setHasSuperEntity(HAS_SUPER_ENTITY);
           generator.setSuperEntityColumns(SUPER_ENTITY_COLUMNS);
           generator.run();
        }
    
    }


2. 提示错误:

E:\soft\jdk-17.0.4\bin\java.exe --add-opens java.base/java.lang=ALL-UNNAMED "-javaagent:C:\Program Files\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=52772:C:\Program Files\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 @C:\Users\issuser\AppData\Local\Temp\idea_arg_file245548280 org.springblade.test.CodeGenerator dev

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.Map.get(Object)" because "this.model" is null

at org.springblade.develop.support.BladeCodeGenerator.getCustomMap(BladeCodeGenerator.java:227)

at org.springblade.develop.support.BladeCodeGenerator.run(BladeCodeGenerator.java:180)

at org.springblade.test.CodeGenerator.main(CodeGenerator.java:86)


Process finished with exit code 1



二、你期待的结果是什么?实际看到的又是什么?

正确生成代码

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2025-08-05 14:31

    请给我们邮箱:bladejava@qq.com 发一个邮件提供授权公司名,登记为商业账号后方可进行商业版问题答疑。

    0 讨论(0)
提交回复