当前使用版本(必填,否则不予处理)

3.4.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

AutoGenerator mpg ; GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setServiceName("%sService");

            mpg.setGlobalConfig(globalConfig);
            mpg.setTemplateEngine(new FreemarkerTemplateEngine());
            mpg.execute();

修改Service命名规则,然后就失败了

重现步骤(如果有就写完整)

AutoGenerator mpg = this.getAutoGenerator(); final PackageConfig pc = new PackageConfig(); pc.setParent(packageName); pc.setEntity("pojo"); mpg.setPackageInfo(pc); InjectionConfig cfg = new InjectionConfig() { public void initMap() { } }; List focList = new ArrayList(); focList.add(new FileOutConfig("/templates/mapper.xml.ftl") { public String outputFile(TableInfo tableInfo) { return CodeGenerator.this.projectPath + "/src/main/java/test/" + pc.getModuleName().replaceAll("\.", "/") + "/mapper/" + tableInfo.getEntityName() + "Mapper" + ".xml"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); mpg.setTemplate((new TemplateConfig()).setXml((String)null)); StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setRestControllerStyle(true); strategy.setControllerMappingHyphenStyle(true); strategy.setEntityBooleanColumnRemoveIsPrefix(false); mpg.setStrategy(strategy); pc.setModuleName(m.getModeName()); strategy.setInclude(new String[]{m.getTableName()}); strategy.setTablePrefix(new String[]{m.getTablePrefix()});

            GlobalConfig globalConfig = new GlobalConfig();
            globalConfig.setServiceName("%sService");

            mpg.setGlobalConfig(globalConfig);
            mpg.setTemplateEngine(new FreemarkerTemplateEngine());
            mpg.execute();

报错信息

请输入代码生成确认 y/n ?: y 请输入输入作者名: feigf 23:19:28.161 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================准备生成文件...========================== 十二月 05, 2020 11:19:28 下午 freemarker.log._JULLoggerFactory$JULLogger error 严重: Error executing FreeMarker template FreeMarker template error: The following has evaluated to null or missing: ==> author [in template "templates/serviceImpl.java.ftl" at line 14, column 14]


Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??


FTL stack trace ("~" means nesting-related): - Failed at: ${author} [in template "templates/serviceImpl.java.ftl" at line 14, column 12]


Java stack trace (for programmers):

freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131) at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355) at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82) at freemarker.core.DollarVariable.accept(DollarVariable.java:41) at freemarker.core.Environment.visit(Environment.java:324) at freemarker.core.MixedContent.accept(MixedContent.java:54) at freemarker.core.Environment.visit(Environment.java:324) at freemarker.core.Environment.process(Environment.java:302) at freemarker.template.Template.process(Template.java:325) at com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine.writer(FreemarkerTemplateEngine.java:52) at com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine.writerFile(AbstractTemplateEngine.java:137) at com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine.batchOutput(AbstractTemplateEngine.java:119) at com.baomidou.mybatisplus.generator.AutoGenerator.execute(AutoGenerator.java:106) at com.xf.mybatis.general.CodeGenerator.batchMake(CodeGenerator.java:112) at com.xf.mybatis.general.CodeGenerator.run(CodeGenerator.java:56) at com.xf.mybatis.CodeGeneratorApplication.main(CodeGeneratorApplication.java:40)

23:19:28.763 [main] ERROR com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 无法创建文件,请检查配置信息! freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> author [in template "templates/serviceImpl.java.ftl" at line 14, column 14]


Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??


FTL stack trace ("~" means nesting-related): - Failed at: ${author} [in template "templates/serviceImpl.java.ftl" at line 14, column 12]


at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355)
at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.MixedContent.accept(MixedContent.java:54)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.Environment.process(Environment.java:302)
at freemarker.template.Template.process(Template.java:325)
at com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine.writer(FreemarkerTemplateEngine.java:52)
at com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine.writerFile(AbstractTemplateEngine.java:137)
at com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine.batchOutput(AbstractTemplateEngine.java:119)
at com.baomidou.mybatisplus.generator.AutoGenerator.execute(AutoGenerator.java:106)
at com.xf.mybatis.general.CodeGenerator.batchMake(CodeGenerator.java:112)
at com.xf.mybatis.general.CodeGenerator.run(CodeGenerator.java:56)
at com.xf.mybatis.CodeGeneratorApplication.main(CodeGeneratorApplication.java:40)

23:19:28.776 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================文件生成完成!!!==========================

Comment From: jfei

globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); globalConfig.setAuthor("jobob"); 忘记加了,已解决