2012-04-25 13 views
13

jOOQ ile jOOQ code generator with Maven ve custom generator strategy kullanarak birleştirmek isteyebilir. Bu gibi yapılabilir sanki (alakasız parçaları dışarıda bırakarak) görünür:jOOQ kod üreteci ve Maven ile özel bir strateji nasıl kullanılır?

<plugin> 
    <groupId>org.jooq</groupId> 
    <artifactId>jooq-codegen-maven</artifactId> 
    <version>2.2.2</version> 

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

    <configuration> 
    <generator> 
     <name>org.jooq.util.DefaultGenerator</name> 
     <!-- But the custom strategy is not yet compiled --> 
     <strategy> 
     <name>com.example.MyStrategy</name> 
     </strategy> 
    </generator> 
    </configuration> 
</plugin> 

Yukarıdaki yapılandırma sorunu göstermektedir. jOOQ'nun kod üreteci, yaşam döngüsünün derleme hedefinden önce gerçekleşen Maven yaşam döngüsünün üretme hedefine girer. Bununla birlikte, kod oluşturma için önceden derlenmiş bir özel strateji sınıfına ihtiyaç duyar, yoksa bir ClassNotFoundException alırım. Bu Maven ile nasıl çözülebilir? generate hedefini gerçekleştirmeden önce tek bir sınıf derleyebilir miyim?

cevap

7

Daha iyi bir çözüm, projeyi iki modüle ayırmaktır. Biri stratejiyi ve diğerlerini içerir. modüllerini kullanarak

, bağımsız bir adımda stratejiyi derlemek ve sonra eklenti bu modülü kullanmak:

<plugin> 
    <groupId>org.jooq</groupId> 
    <artifactId>jooq-codegen-maven</artifactId> 
    <version>2.2.2</version> 

    ...your config goes here... 

    <dependencies> 
    list your strategy module here 
    </dependencies> 
</plugin> 
İlgili konular