title: jooq 3.12.0 codegen tool strategy class not found
body: <p>I am having trouble getting the jooq codegen tool to run with my custom JooqCodegenStrategy class. I downloaded jooq 3.12.0 and unzipped it into a directory on my Ubuntu system. In this directory, I have the following files.</p>
  
  <pre><code>jooq-3.12.0.jar
  jooq-checker-3.12.0.jar
  jooq-codegen-3.12.0.jar
  jooq-codegen-maven-3.12.0.jar
  JooqCodegenStrategy.class
  JooqCodegenStrategy.java
  jooq-meta-3.12.0.jar
  jooq-meta-extensions-3.12.0.jar
  jooq-scala_2.12-3.12.0.jar
  jooq_sd3.jar
  jooq.xml
  mysql-connector-java-5.1.47-bin.jar*
  reactive-streams-1.0.3.jar
  </code></pre>
  
  <p>I can successfully run the code generation tool when I do not have the following (below) in my jooq.xml.</p>
  
  <pre><code>&lt;generator&gt;
    &lt;strategy&gt;
      &lt;name&gt;com.simpletest.JooqCodegenStrategy&lt;/name&gt;
    &lt;/strategy&gt;
  &lt;/generator&gt;
  </code></pre>
  
  <p>In order to build the JooqCodegenStrategy class, from terminal, I compile this Java file using: </p>
  
  <pre><code>javac -classpath jooq-meta-3.12.0.jar:jooq-codegen-3.12.0.jar JooqCodegenStrategy.java 
  </code></pre>
  
  <p>That appears to work and it creates the JooqCodegenStrategy.class file. I package that file into a jar so I can reference it on the classpath when running the codegen tool. I create the jar file using:</p>
  
  <pre><code>jar -cvf jooq_sd3.jar JooqCodegenStrategy.class
  </code></pre>
  
  <p>At this point, I believe I have what I need to run the codegen tool. I run the codegen tool using this:</p>
  
  <pre><code>java -classpath jooq-3.12.0.jar:jooq-meta-3.12.0.jar:jooq-codegen-3.12.0.jar:mysql-connector-java-5.1.47-bin.jar:reactive-streams-1.0.3.jar:jooq_sd3.jar:. org.jooq.codegen.GenerationTool /jooq.xml
  </code></pre>
  
  <p>The error I get looks like this:</p>
  
  <pre><code>Aug 30, 2019 4:44:12 PM org.jooq.tools.JooqLogger info
  INFO: Initialising properties  : /jooq.xml
  Aug 30, 2019 4:44:13 PM org.jooq.tools.JooqLogger error
  SEVERE: Cannot read /jooq.xml. Error : com.simpletest.JooqCodegenStrategy
  java.lang.ClassNotFoundException: com.simpletest.JooqCodegenStrategy
      at java.net.URLClassLoader.findClass(URLClassLoader.java:382
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
      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:380)
      at org.jooq.codegen.GenerationTool.run(GenerationTool.java:221)
      at org.jooq.codegen.GenerationTool.generate(GenerationTool.java:216)
      at org.jooq.codegen.GenerationTool.main(GenerationTool.java:188)
  </code></pre>
  
  <p>My jooq.xml file looks like this.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
  &lt;configuration&gt;
      &lt;jdbc&gt;
          &lt;driver&gt;com.mysql.jdbc.Driver&lt;/driver&gt;
          &lt;url&gt;jdbc:mysql://localhost:3306/sd3?useSSL=false&lt;/url&gt;
          &lt;user&gt;myuser&lt;/user&gt;
          &lt;password&gt;mypass&lt;/password&gt;
      &lt;/jdbc&gt;
  
      &lt;generator&gt;
          &lt;name&gt;org.jooq.codegen.JavaGenerator&lt;/name&gt;
          &lt;strategy&gt;
              &lt;name&gt;com.simpletest.JooqCodegenStrategy&lt;/name&gt;
          &lt;/strategy&gt;
  
          &lt;database&gt;
              &lt;name&gt;org.jooq.meta.mysql.MySQLDatabase&lt;/name&gt;
              &lt;inputSchema&gt;sd3&lt;/inputSchema&gt;
              &lt;includes&gt;.*&lt;/includes&gt;
              &lt;excludes&gt;sometableshere&lt;/excludes&gt;
              &lt;forcedTypes&gt;
                  &lt;forcedType&gt;
                      &lt;name&gt;JsonElement&lt;/name&gt;
                      &lt;expression&gt;board_data&lt;/expression&gt;
                      &lt;types&gt;JSON&lt;/types&gt;
                  &lt;/forcedType&gt;
              &lt;/forcedTypes&gt;
          &lt;/database&gt;
  
          &lt;target&gt;
              &lt;packageName&gt;model.data&lt;/packageName&gt;
              &lt;directory&gt;./src/main/java/com/simpletest/domain/&lt;/directory&gt;
          &lt;/target&gt;
  
          &lt;generate&gt;
              &lt;relations&gt;true&lt;/relations&gt;
              &lt;deprecated&gt;true&lt;/deprecated&gt;
              &lt;instanceFields&gt;true&lt;/instanceFields&gt;
              &lt;generatedAnnotation&gt;true&lt;/generatedAnnotation&gt;
              &lt;records&gt;true&lt;/records&gt;
              &lt;pojos&gt;true&lt;/pojos&gt;
              &lt;immutablePojos&gt;false&lt;/immutablePojos&gt;
              &lt;interfaces&gt;false&lt;/interfaces&gt;
              &lt;daos&gt;true&lt;/daos&gt;
              &lt;jpaAnnotations&gt;true&lt;/jpaAnnotations&gt;
              &lt;validationAnnotations&gt;false&lt;/validationAnnotations&gt;
              &lt;springAnnotations&gt;true&lt;/springAnnotations&gt;
              &lt;globalObjectReferences&gt;true&lt;/globalObjectReferences&gt;
              &lt;fluentSetters&gt;true&lt;/fluentSetters&gt;
          &lt;/generate&gt;
      &lt;/generator&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>Any ideas what I am doing wrong?</p>
  
  <p>Thanks for the help.</p>