注意警告:有时候它对我们排查错误很有帮助!
例如下面错误信息中的警告: WARNING: The JDBC driver didn't report any primary key columns in share
有时候异常信息堆栈描述的错误信息可能并不如警告提示的信息那么明确。
四月 05, 2017 10:05:07 上午 cn.org.rapid_framework.generator.provider.db.DbTableFactory retriveTableColumns
警告: WARNING: The JDBC driver didn't report any primary key columns in share
***************************************************************
* BEGIN generate Database Table:share to ClassName:Share
***************************************************************
-------------------load template from templateRootDir = '/Users/aven/Documents/createJava/template'
[generate] template:baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java to baseTemplate/java_src/com/wanyu/yuyi/dao/ShareDao.java
四月 05, 2017 10:05:09 上午 freemarker.log.JDK14LoggerFactory$JDK14Logger error
严重: Template processing error: "Expression table.idColumn is undefined on line 22, column 70 in baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java."
Expression table.idColumn is undefined on line 22, column 70 in baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java.
The problematic instruction:
----------
==> ${table.idColumn.javaType} [on line 22, column 68 in baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression table.idColumn is undefined on line 22, column 70 in baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:259)
at cn.org.rapid_framework.generator.Generator.saveNewOutputFileContent(Generator.java:233)
at cn.org.rapid_framework.generator.Generator.generateNewFileOrInsertIntoFile(Generator.java:167)
at cn.org.rapid_framework.generator.Generator.generateByModelProvider(Generator.java:126)
at cn.org.rapid_framework.generator.Generator.generateByModelProvider(Generator.java:83)
at cn.org.rapid_framework.generator.GeneratorFacade.generateByTable(GeneratorFacade.java:117)
at cn.org.rapid_framework.generator.GeneratorMain.main(GeneratorMain.java:54)
Exception in thread "main" java.lang.RuntimeException: generate 'Database Table:share to ClassName:Share' oucur error,template is:baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java
at cn.org.rapid_framework.generator.Generator.generateByModelProvider(Generator.java:128)
at cn.org.rapid_framework.generator.Generator.generateByModelProvider(Generator.java:83)
at cn.org.rapid_framework.generator.GeneratorFacade.generateByTable(GeneratorFacade.java:117)
at cn.org.rapid_framework.generator.GeneratorMain.main(GeneratorMain.java:54)
Caused by: freemarker.core.InvalidReferenceException: Expression table.idColumn is undefined on line 22, column 70 in baseTemplate/java_src/${basepackage_dir}/dao/${className}Dao.java.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:259)
at cn.org.rapid_framework.generator.Generator.saveNewOutputFileContent(Generator.java:233)
at cn.org.rapid_framework.generator.Generator.generateNewFileOrInsertIntoFile(Generator.java:167)
at cn.org.rapid_framework.generator.Generator.generateByModelProvider(Generator.java:126)
... 3 more