天天看點

mybatis-generator的maven插件使用異常(mybatis-generator-maven-plugin):generate failed: Exception getting JDBC Driver

使用mybatis的代碼生成工具:mybatis-generator,在父model中引入了maven插件的依賴,如下:

<!-- Mybatis.generator插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>${mybatis.generator.version}</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>      

子model(dao層)中使用,引入插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>      

配置generatorConfig.xml檔案,開始生成代碼,如下操作

mybatis-generator的maven插件使用異常(mybatis-generator-maven-plugin):generate failed: Exception getting JDBC Driver

報錯如下:

[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5:generate (default-cli) on project mf-dao: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5:generate failed: Exception getting JDBC Driver: oracle.jdbc.driver.OracleDriver -> [Help 1]      

分析:

很明顯的報錯,提示找不到DB的驅動jar

設定插件的依賴參數如下:

<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <configuration>
                    <!--可指定配置檔案位址,預設位址resources/generatorConfig.xml -->
                    <!--<configurationFile>${basedir}/src/main/java/com/shengpay/mf/dao/db/generator/generatorConfig.xml</configurationFile>-->
                </configuration>
                <!--依賴DB的驅動包 -->
                <dependencies>
                    <dependency>
                        <groupId>com.oracle</groupId>
                        <artifactId>ojdbc6</artifactId>
                        <version>${oracle.ojdbc6.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>com.mas.mf</groupId>
                        <artifactId>mf-dao</artifactId>
                        <version>${mf.module.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>${mybatis.generator.version}</version>
                    </dependency>
                </dependencies>
            </plugin>      

注意:

1、所有引用的外部插件(比如分頁插件)或者jar包,必須指定依賴

   比如這裡依賴了自己的jar:mf-dao

   在generator之前,必須先生成jar并存放在本地倉庫或私服

2、depences下,每個依賴的jar必須指定version

3、如果generatorConfig.xml檔案使用了自定義的插件,在指定依賴前,請先編譯,确定生成了jar包(不然會報錯提示無法初始化該對象)

4、如果generatorConfig.xml沒有放在resources下,請指定generatorConfig.xml配置檔案的路徑