代码之家  ›  专栏  ›  技术社区  ›  PAA

springbootjooq集成-编译问题

  •  0
  • PAA  · 技术社区  · 6 年前

    我已经通过链接: java.lang.ClassNotFoundException: org.jooq.util.JavaGenerator https://www.javacodegeeks.com/2016/03/springboot-working-jooq.html . 我正在使用 爪哇8 弹簧防尘套2.2.2.释放 .

    我使用 >mvn clean install -P mysql ,但它给我下面的错误。

    Caused by: java.lang.ClassNotFoundException: org.jooq.util.DefaultGenerator
        at java.net.URLClassLoader.findClass (URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass (ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass (ClassLoader.java:357)
        at org.jooq.codegen.GenerationTool.loadClass0 (GenerationTool.java:925)
        at org.jooq.codegen.GenerationTool.loadClass (GenerationTool.java:869)
        at org.jooq.codegen.GenerationTool.run0 (GenerationTool.java:357)
        at org.jooq.codegen.GenerationTool.run (GenerationTool.java:221)
        at org.jooq.codegen.GenerationTool.generate (GenerationTool.java:216)
        at org.jooq.codegen.maven.Plugin.execute (Plugin.java:198)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
        at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
        at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)
        at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
        at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke (Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
    

    pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.2.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example.jasper</groupId>
        <artifactId>spring-boot-jooq</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-jooq</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
            <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
        </properties>
    
        <profiles>
            <profile>
                <id>h2</id>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.jooq</groupId>
                            <artifactId>jooq-codegen-maven</artifactId>
                            <executions>
                                <execution>
                                    <goals>
                                        <goal>generate</goal>
                                    </goals>
                                </execution>
                            </executions>
                            <dependencies>
                                <dependency>
                                    <groupId>com.h2database</groupId>
                                    <artifactId>h2</artifactId>
                                    <version>${h2.version}</version>
                                </dependency>
                            </dependencies>
                            <configuration>
                                <jdbc>
                                    <driver>org.h2.Driver</driver>
                                    <url>jdbc:h2:~/springbootjooq</url>
                                </jdbc>
                                <generator>
                                    <name>org.jooq.util.DefaultGenerator</name>
                                    <database>
                                        <name>org.jooq.util.h2.H2Database</name>
                                        <includes>.*</includes>
                                        <excludes />
                                        <inputSchema>PUBLIC</inputSchema>
                                    </database>
                                    <target>
                                        <packageName>com.example.jooq.model</packageName>
                                        <directory>gensrc/main/java</directory>
                                    </target>
                                </generator>
                            </configuration>
                        </plugin>
                    </plugins>
                </build>
            </profile>
            <profile>
                <id>mysql</id>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.jooq</groupId>
                            <artifactId>jooq-codegen-maven</artifactId>
                            <executions>
                                <execution>
                                    <goals>
                                        <goal>generate</goal>
                                    </goals>
                                </execution>
                            </executions>
                            <dependencies>
                                <dependency>
                                    <groupId>mysql</groupId>
                                    <artifactId>mysql-connector-java</artifactId>
                                    <version>${mysql.version}</version>
                                </dependency>
                            </dependencies>
                            <configuration>
                                <jdbc>
                                    <driver>com.mysql.jdbc.Driver</driver>
                                    <url>jdbc:mysql://localhost:3306/test</url>
                                    <user>root</user>
                                    <password>root</password>
                                </jdbc>
                                <generator>
                                    <name>org.jooq.util.DefaultGenerator</name>
                                    <database>
                                        <name>org.jooq.util.mysql.MySQLDatabase</name>
                                        <includes>.*</includes>
                                        <excludes />
                                        <inputSchema>test</inputSchema>
                                    </database>
                                    <target>
                                        <packageName>com.example.jooq.model</packageName>
                                        <directory>gensrc/main/java</directory>
                                    </target>
                                </generator>
                            </configuration>
                        </plugin>
                    </plugins>
                </build>
            </profile>
        </profiles>
    
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jooq</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
    
    0 回复  |  直到 6 年前
        1
  •  2
  •   K. Siva Prasad Reddy paulchapman    6 年前

    springboot2.2.2jooqstarter将jooq3.12.3和JOOQ代码生成移到单独的库中。添加以下依赖项:

    <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen</artifactId>
        <version>3.12.3</version>
    </dependency>
    

    已弃用,您可以使用 网址:org.jooq.codegen.JavaGenerator