簡體   English   中英

hibernate3-maven:從父項目編譯時,在子項目中找不到JDBC驅動程序

[英]hibernate3-maven: JDBC Driver not found in child project when compiling from parent project

問題:12:03:10,126錯誤org.hibernate.tool.hbm2ddl.SchemaExport-模式導出失敗org.hibernate.HibernateException:找不到JDBC驅動程序類:com.mysql.jdbc.Driver

我有一個項目,該項目分為以下模塊:ParentProject和ChildModule。 當我嘗試編譯ChildModule的pom.xml時,一切正常,maven成功連接到數據庫並創建了表。 但是,從ParentProject編譯時,出現了上面提到的錯誤(在執行hbm2ddl時)。 任何想法是什么問題?

這是我的pom.xml文件:

ParentProject pom.xml:

<project ... >
<build>
        <plugins>

            <plugin>
                <!-- JDK version used to compile project -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>

        </plugins>
    </build>

    <repositories>
        <repository>
            <id>JBOSS</id>
            <name>JBoss Repository</name>
            <url>http://repository.jboss.org/maven2/</url>
        </repository>
        <repository>
            <id>Codehaus Snapshots</id>
            <url>http://snapshots.repository.codehaus.org/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>Codehaus Snapshots</id>
            <url>http://snapshots.repository.codehaus.org/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>

    <dependencyManagement>
        <dependencies>
        ...
        </dependencies>
    </dependencyManagement>

    <modules>
        <module>../ChildModule</module>
    </modules>  
</project>

ChildModule pom.xml:

<project ... >

    <parent>
        <groupId>com.somepackage</groupId>
        <artifactId>ChildModule</artifactId>
        <version>0.1</version>
        <relativePath>../ParentProject/pom.xml</relativePath>
    </parent>

    ...

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>                
                <executions>

                    <execution>
                        <id>generate-entities</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>hbm2java</goal>
                        </goals>
                        <configuration>
                            <components>
                                <component>
                                    <name>hbm2java</name>
                                    <implementation>configuration</implementation>
                                    <outputDirectory>${generated-source-dir}</outputDirectory>
                                </component>
                            </components>
                            <componentProperties>                               
                                <configurationFile>src/main/resources/hibernate.cfg.xml</configurationFile>
                                <jdk5>true</jdk5>
                            </componentProperties>
                        </configuration>
                    </execution>

                    <execution>
                        <id>generate-schema</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>hbm2ddl</goal>
                        </goals>

                        <configuration>
                            <componentProperties>
                                <outputfilename>schema.ddl</outputfilename>
                                <drop>true</drop>
                                <ejb3>false</ejb3>
                            </componentProperties>
                        </configuration>

                    </execution>

                </executions>               
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.17</version>
                    </dependency>
                    <dependency>
                        <groupId>cglib</groupId>
                        <artifactId>cglib-nodep</artifactId>
                        <version>2.2.2</version>
                    </dependency>
                </dependencies>
            </plugin>

        </plugins>
    </build>


    <dependencies>

    ...

    </dependencies>

    <properties>
        <generated-source-dir>generated-sources/hibernate3</generated-source-dir>
        <generated-resource-dir>generated-resources/hibernate3</generated-resource-dir>
    </properties>

</project>

您父母的插件與孩子的mysql-connector-java沒有依賴關系。 我建議將此依賴項添加(或移動)到父級的插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM