JOOQ:在Eclipse中使用maven生成源代码不生成任何文件

时间:2016-07-31 20:00:57

标签: java eclipse maven jooq

我是JOOQ和Maven的新手。根据JOOQ的文档说,我想通过给出模式来生成Pojo。我尝试使用命令行方式,它运行得很好。我在Eclipse java项目中添加了相同的配置。下面是我的pom.mxl

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>PojoGenerator</groupId>
    <artifactId>PojoGenerator</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>rutherford.pojo</name>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <pluginManagement>

            <plugins>
                <plugin>
                    <!-- <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>

                <plugin> -->

                    <!-- Specify the maven code generator plugin -->
                    <!-- Use org.jooq for the Open Source edition org.jooq.pro for commercial 
                        editions, org.jooq.pro-java-6 for commercial editions with Java 6 support, 
                        org.jooq.trial for the free trial edition -->
                    <groupId>org.jooq</groupId>
                    <artifactId>jooq-codegen-maven</artifactId>
                    <version>3.8.4</version>

                    <!-- The plugin should hook into the generate goal -->
                    <executions>
                        <execution>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>

                    <!-- Manage the plugin's dependency. In this example, we'll use a PostgreSQL 
                        database -->
                    <dependencies>
                        <dependency>
                            <groupId>org.postgresql</groupId>
                            <artifactId>postgresql</artifactId>
                            <version>9.4-1201-jdbc41</version>
                        </dependency>
                    </dependencies>

                    <!-- Specify the plugin configuration. The configuration format is the 
                        same as for the standalone code generator -->
                    <configuration>

                        <!-- JDBC connection parameters -->
                        <jdbc>
                            <driver>org.postgresql.Driver</driver>
                            <url>jdbc:postgresql://localhost:5432/test</url>
                            <user>postgres</user>
                            <password>test</password>
                        </jdbc>

                        <!-- Generator parameters -->
                        <generator>
                            <database>
                                <name>org.jooq.util.postgres.PostgresDatabase</name>
                                <includes>.*</includes>
                                <excludes></excludes>
                                <inputSchema>public</inputSchema>
                            </database>
                            <target>
                                <packageName>com.generated.pojo</packageName>
                                <directory>${project.build.directory}/src</directory>

                            </target>
                        </generator>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

我尝试过生成资源。它说BUILD SUCCESS,但我无法在任何地方看到我生成的Pojos。请让我知道我错过了什么。

1 个答案:

答案 0 :(得分:1)

您仍然需要将插件添加到构建中,因为<pluginManagement>仅帮助您声明常用配置以供重用。

<build>
    <pluginManagement>...</pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.jooq</groupId>
            <artifactId>jooq-codegen-maven</artifactId>
            <execution>...</execution>
        </plugin>
    </plugins>
</build>

另请参阅此问题:Maven: What is pluginManagement?

在这种情况下,ignore this well-known issue in Eclipse and avoid the <pluginManagement> element可能更简单。