2012-04-25 8 views
13

Z jOOQ, mogę chcieć połączyć używając jOOQ code generator with Maven i custom generator strategy. Wygląda to tak, jakby można to zrobić jako taki (pomijając elementy nieistotne):Jak używać niestandardowej strategii z generatorem kodu jOOQ i Maven?

<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> 

Powyższa konfiguracja przedstawia problem. Generator kodu jOOQ przechwytuje cel generowania cyklu życia Maven, który ma miejsce przed celem kompilacji cyklu życia. Do generowania kodu potrzebna jest jednak skompilowana niestandardowa klasa strategii lub otrzymam numer ClassNotFoundException. Jak można to rozwiązać za pomocą Mavena? Czy mogę skompilować pojedynczą klasę przed wykonaniem celu generate?

Odpowiedz

7

Znacznie lepszym rozwiązaniem jest podzielenie projektu na dwa moduły. Jedna zawiera strategię, a druga resztę.

Korzystanie z modułów, można opracować strategię w niezależnym punkcie, a następnie użyć tego modułu we wtyczce:

<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>