jOOQ不生成源

时间:2018-07-13 15:19:03

标签: java spring maven jooq

我正在尝试将jOOQ包含在我的代码中,但是未生成任何代码。

执行mvn clean generate-sources时,不生成任何源。我希望它创建一个Category类,该类在以下schema.sql文件中定义。

CREATE TABLE IF NOT EXISTS category (
  id INTEGER IDENTITY PRIMARY KEY,
  name VARCHAR(100),
  description VARCHAR(2000),
  age_group VARCHAR(20),
  created DATETIME,
  inserted BIGINT
);

我的pom.xml文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-data-jdbc-jooq</artifactId>

    <parent>
        <groupId>org.springframework.data.examples</groupId>
        <artifactId>spring-data-jdbc-examples</artifactId>
        <version>2.0.0.BUILD-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <name>Spring Data JDBC - Usage with jOOQ</name>
    <description>Sample project demonstrating Spring Data JDBC features</description>

    <dependencies>
        <dependency>
            <groupId>org.jooq</groupId>
            <artifactId>jooq</artifactId>
            <version>3.10.8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jooq</artifactId>
            <version>2.0.3.RELEASE</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <version>3.10.8</version>

                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>

                <configuration>
                    <jdbc>
                        <driver>org.hsqldb.jdbcDriver</driver>
                        <url>jdbc:hsqldb:mem:testdb</url>
                    </jdbc>
                    <generator>
                        <name>org.jooq.util.DefaultGenerator</name>
                        <database>
                            <name>org.jooq.util.hsqldb.HSQLDBDatabase</name>
                            <inputSchema>PUBLIC</inputSchema>
                        </database>
                        <target>
                            <packageName>example.springdata.jdbc.basics.simpleentity.domain</packageName>
                            <directory>${basedir}/gensrc/main/java</directory>
                        </target>
                    </generator>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

我认为应该使用内部适当的类来创建目录gensrc。 Maven构建成功运行,没有任何错误。

您可以在this GitHub repository中找到整个项目。

1 个答案:

答案 0 :(得分:1)

您正在使用内存数据库:jdbc:hsqldb:mem:testdb。当jOOQ代码生成器启动时,它将接收到一个空的 new 数据库,而不是您可能在其他地方创建的数据库。