MyBatis Generator报错:Cannot instantiate object of type
2018-02-10 10:43
441 查看
1.错误信息
[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project myssm: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot instantiate object of type: ClassNotFoundException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project myssm: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot instantiate object of type at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:47) Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot instantiate object of type at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) ... 21 more Caused by: java.lang.RuntimeException: Cannot instantiate object of type at org.mybatis.generator.internal.ObjectFactory.createInternalObject(ObjectFactory.java:217) at org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3SimpleImpl.createJavaClientGenerator(IntrospectedTableMyBatis3SimpleImpl.java:73) at org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl.requiresXMLGenerator(IntrospectedTableMyBatis3Impl.java:304) at org.mybatis.generator.config.Context.validate(Context.java:229) at org.mybatis.generator.config.Configuration.validate(Configuration.java:94) at org.mybatis.generator.api.MyBatisGenerator.<init>(MyBatisGenerator.java:118) at org.mybatis.generator.maven.MyBatisGeneratorMojo.execute(MyBatisGeneratorMojo.java:200) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) ... 22 more Caused by: java.lang.ClassNotFoundException: at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.mybatis.generator.internal.ObjectFactory.internalClassForName(ObjectFactory.java:169) at org.mybatis.generator.internal.ObjectFactory.createInternalObject(ObjectFactory.java:213) ... 29 more
2.错误分析
在MyBatis-Generator的配置文件generatorConfig.xml中,没有给javaClientGenerator标签配置正确的type属性。示例:<!--JavaDao层接口(XxxxDao.java)生成配置 targetProject+targetPackage构成全路径--> <javaClientGenerator targetPackage="pers.hanchao.myssm.test.generator.dao" targetProject="src\main\java" type=""> <!--是否允许建立子包(对应MySql的scheme)--> <property name="enableSubPackages" value="true"/> </javaClientGenerator>
3.错误解决
给javaClientGenerator标签配置正确的type属性即可。使用的
targetRuntime="MyBatis3Simple",有以下两种可选
type。
XMLMAPPER:生成的对象是 MyBatis 3.x 映射器基础结构的 Java接口和XML映射文件。
ANNOTATEDMAPPER:生成的对象是 MyBatis 3.x 映射器基础结构的Java接口(使用注解),无XML文件。
习惯使用
XMLMAPPER,配置如下:
<!--JavaDao层接口(XxxxDao.java)生成配置 targetProject+targetPackage构成全路径--> <javaClientGenerator targetPackage="pers.hanchao.myssm.test.generator.dao" targetProject="src\main\java" type="XMLMAPPER"> <!--是否允许建立子包(对应MySql的scheme)--> <property name="enableSubPackages" value="true"/> </javaClientGenerator>
相关文章推荐
- C++编译错误 error:cannot allocate an object of abstract type
- of type java.lang.String cannot be converted to JSONObject: Android
- cannot pass non-trivial object of type 'string' to variadic function
- JSONException: Value of type java.lang.String cannot be converted to JSONObject
- Json解析异常处理方式(JSONException: Value of type java.lang.String cannot be converted to JSONObject)
- 错误:Property or field 'default' cannot be found on object of type 'com.netflix.appinfo.InstanceInfo'
- 出现错误cannot allocate an object of abstract type“ ” 纯虚函数
- Value of type java.lang.String cannot be converted to JSONObject
- PHP错误Cannot use object of type stdClass as array in错误的解决办法
- PHP 错误:Cannot use object of type yii\db\Command as array
- Swift*Cannot invoke 'jsonObject' with an argument list of type
- cannot allocate an object of abstract type
- PHP“Cannot use object of type stdClass as array”
- php错误 Fatal error: Cannot use object of type stdClass as array in……
- 使用json_decode()转换返回数组或对象时出现:Cannot use object of type stdClass as array
- PHP“Cannot use object of type stdClass as array”
- Cannot use object of type PHPExcel_RichText as array
- Cannot use object of type stdClass as array
- type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object
- PHP“Cannot use object of type stdClass as array”