java - jOOQ不生成源

标签 java spring maven jooq

我试图将 jOOQ 包含到我的代码中,但是没有生成任何代码。

执行mvn cleangenerate-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 中找到整个项目.

最佳答案

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

关于java - jOOQ不生成源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51328307/

相关文章:

java - 在没有类型安全警告的情况下覆盖通用抽象方法的返回类型

spring - Run As : Spring Boot App and Run As: Java Application? 之间有区别吗

java.sql.SQLException : Field 'name' doesn't have a default value

java - 将 Maven Artifact 部署到具有不同设置的多个存储库

java - DistributionManagement 和 Repositories 中的不同存储库

java - 无法理解为什么我无法在方法之外修改变量?

java - 打印无法正常工作

java - 通过 REST API Java 从 URL 获取 ObjectID

java - 从 Web 服务器异步调用应用程序

java - ClassNotFoundException 与 ResteasyClientBuilder (JBOSS)