generator集成maven插件时报Root class cannot be loaded, checking for member overrides is disabled

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IsITMan/article/details/80363597

    这个问题困扰了很久,国内好多关于generator集成的文章都忽略了这个错误,国外的论坛讨论过这个问题,思路似乎很正确,但我无法get到的操作,http://mybatis-user.963551.n3.nabble.com/mybatis-generator-Root-class-xxx-cannot-be-loaded-td3576094.html 无意间翻阅mybatis-generator配置参数说明时看到 classPathEntry属性恍然大悟。

具体操作如下:

cmd命令下进入到项目pom.xml跟路径中 输入命令行:mvn clean install(将项目打成jar包),

<classPathEntry location="本地路径/项目名.jar" /> 配置到mybatis-generator.xml中,如下图:


<!-- 在MBG工作的时候,需要额外加载的依赖包location属性指明加载jar/zip包的全路径-->

<classPathEntry location="本地路径/项目名.jar" />

<classPathEntry> 元素说明:http://mbg.cndocs.ml/configreference/classPathEntry.html

更详细的说明如下图:

重点看这里:

上面这么做有些弊端,就是耦合度有些高,其实我们可以在maven插件中管理这个jar,插件代码如下:

<build>
   <plugins>
      <!--要打包了这个生成代码要禁止掉,本地开发开启 -->
      <plugin>
         <groupId>org.mybatis.generator</groupId>
         <artifactId>mybatis-generator-maven-plugin</artifactId>
         <version>1.3.6</version>
         <dependencies>
            <!--配置这个依赖主要是为了等下在配置mybatis-generator.xml的时候可以不用配置classPathEntry这样的一个属性,避免代码的耦合度太高 -->
            <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>5.1.44</version>
            </dependency>
            <dependency>
               <groupId>com.liveneo.sgplatform</groupId>
               <artifactId>sg-generator</artifactId>
               <version>1.0.0</version>
               <scope>system</scope>
               <systemPath>${project.basedir}/src/main/resources/lib/sg-generator-1.0.0.jar</systemPath>
            </dependency>
            <dependency>
               <groupId>tk.mybatis</groupId>
               <artifactId>mapper-generator</artifactId>
               <version>1.0.0</version>
            </dependency>
         </dependencies>
         <configuration>
            <!--允许移动生成的文件 -->
            <verbose>true</verbose>
            <!-- 是否覆盖 -->
            <overwrite>true</overwrite>
            <!-- 自动生成的配置 -->
            <configurationFile>src/main/resources/generator/mybatis-generator.xml</configurationFile>
         </configuration>
      </plugin>
   </plugins>
</build>

综上已把解决方案给出,如有问题请留言。


猜你喜欢

转载自blog.csdn.net/IsITMan/article/details/80363597
今日推荐