JOOQ plugin Maven NullPointerException

How can I solve the NullPointerException problem that I get with jooq-maven-plugin 3.7.3, Maven 3.3.9, Java 1.8.0_51 and OS X 10.10.4?

[ERROR] The org.jooq target failed: jooq-codegen-maven: 3.7.3: generate (default-cli) in the my-app project: an error occurred while starting the jOOQ code generation tool: NullPointerException → [Help 1] org .apache.maven.lifecycle.LifecycleExecutionException: the org.jooq target failed: jooq-codegen-maven: 3.7.3: generate (default-cli) in the my-app project: an error occurred while starting the tool to generate jOOQ code on org. apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153) at org.apache.maven.lifecycle.internal. MojoExecutor.execute (MojoExecutor.java:145) on org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:116) on org .apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:80) on org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51) on org.apache .lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain (MavenCli. java: 288) at org.apache.maven.cli.MavenCli.main (MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) in java.lang.reflect.Method.invoke (Method.java:497) 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.javahaps56) Reason: org.apache.maven.plugin.MojoExecutionException: an error occurred while starting the jOOQ code generation tool on org.jooq.util.maven.Plugin.execute (Plugin.java:134) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:207) ... 20 more Called: java.lang.NullPointerException on org.jooq.util.maven.Plugin .execute (Plugin.java:118) ... 22 more

According to the code on Github, the line casting NPE,

String dir = generator.getTarget().getDirectory(); 

My target directory, configured below, really exists, and I tried both relative and absolute paths, and also did not use the property to set it.

 <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> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <url>http://maven.apache.org</url> <properties> <db>myappdb</db> <db.driver>com.mysql.jdbc.Driver</db.driver> <db.jdbc>jdbc:mysql://localhost</db.jdbc> <db.url>${db.jdbc}/${db}</db.url> <db.user>root</db.user> <db.pass>rootpass</db.pass> <jaxb-api.version>2.2.6</jaxb-api.version> <jooq.version>3.7.3</jooq.version> <jooq.dialect>org.jooq.util.mysql.MySQLDatabase</jooq.dialect> <jooq.gen.directory>target</jooq.gen.directory> <jooq.gen.package>com.mycompany.app.jooq</jooq.gen.package> <junit.version>3.8.1</junit.version> <mysql.driver.version>5.1.38</mysql.driver.version> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.jooq</groupId> <artifactId>jooq-codegen-maven</artifactId> <version>${jooq.version}</version> <executions> <execution> <id>jooq-generate</id> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> <configuration> <jdbc> <driver>${db.driver}</driver> <url>${db.url}</url> <user>${db.user}</user> <password>${db.pass}</password> </jdbc> <generator> <database> <name>${jooq.dialect}</name> <includes>.*</includes> <excludes> UNUSED_TABLE | PREFIX_.* | SECRET_SCHEMA\.SECRET_TABLE # This table (qualified name) should not be generated | SECRET_ROUTINE # This routine (unqualified name) ... </excludes> <inputSchema>${db}</inputSchema> <!--outputSchema /--> <!--dateAsTimestamp>true</dateAsTimestamp --> </database> <generate> <relations>true</relations> <deprecated>true</deprecated> <instanceFields>true</instanceFields> <generatedAnnotation>true</generatedAnnotation> <records>true</records> <pojos>true</pojos> <immutablePojos>true</immutablePojos> <interfaces>true</interfaces> <daos>true</daos> <jpaAnnotations>true</jpaAnnotations> <validationAnnotations>true</validationAnnotations> <springAnnotations>true</springAnnotations> <globalObjectReferences>true</globalObjectReferences> <fluentSetters>false</fluentSetters> </generate> <target> <packageName>${jooq.gen.package}</packageName> <directory>${jooq.gen.directory}</directory> </target> </generator> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-meta</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-codegen</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb-api.version}</version> </dependency> </dependencies> </plugin> </plugins> </pluginManagement> </build> <dependencies> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-meta</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-codegen</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.driver.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> </project> 
+7
maven jooq
source share

No one has answered this question yet.

See related questions:

291
Maven doesn't work on Java 8 when Javadoc tags are incomplete
3
How to resolve an unknown artifact type [test-jar] error in Maven?
2
Missing or invalid "sourceEncoding" rpm-maven-plugin parameters
one
Getting FileNotFoundException when deploying a war using the Maven Jetty plugin
one
Error merging speed patterns when starting mvn
one
Failed to fulfill target org.apache.maven.plugins: maven-compiler-plugin: 3.1: compile (default compilation) in siriproject project: compilation failed
one
BUILD: Jasmine-maven-plugin error
one
Getting a nonzero excepetion pointer when using any annotation other than @BeforeClass
0
Maven can't run custom test
0
How to fix the maven exception: [ERROR] Failed to fulfill the target org.apache.maven.plugins: maven-clean-plugin: 2.6.1: clean

All Articles