🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
1 messages
1 total messages Started by mario Sat, 15 Dec 2012 10:05
Plugin xjc do automatycznego dodawania adnotacji JSR-303 (problem z jaxw-maven-plugin)
#153710
Author: mario
Date: Sat, 15 Dec 2012 10:05
24 lines
3125 bytes
Witam

Chciałbym skorzystać z pluginu http://code.google.com/p/krasa-jaxb-tools/ rozszerzającego możliwości standardowego xjc o możliwość wstawiania do wygenerowanych klas adnotacji JSR 303. Sam plugin fajnie działa, jest dołączony do niego test, który wykonuje mi się poprawnie.

Problemy zaczynają się przy próbie spięcia go z mavenowym jaxws-maven-plugin. 
Po dodaniu dependency i uruchomieniu generaty dostaję wyjątek:

java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider mw.MyPlugin could not be instantiated: java.lang.ClassCastException

okazuje się że problem jest szerszy i dotyczy współpracy narzędzi JAXB i JDK 1.6. Został on opisany w wątku http://www.java.net/node/676027 . Najistotniejsza część dyskusji mówi o możliwym rozwiązaniu:

The ParallelWorldClassLoader relies on a MaskingClassLoader, which filters, among others, package "com.sun.tools.xjc".
If your plugin is in that package, it gets loaded in the right classloader, otherwise the plugin and its superclass are loaded with a different classloader, resulting in two versions of the com.sun.tools.xjc.Plugin class (i.e. two Class instances for the same class). 

Niestety u mnie to rozwiązanie nie działa. 

Po umieszczeniu pluginu w opisanej strukturze i uruchomieniu testu pluginu xjc (test opiera się o plugin maven-jaxb2-plugin-testing)znowu wszystko wykonuje się poprawnie, pliki xsd zostają przetworzone, adnotacje się dodają i wszystko jest pozornie ok. 
Tak jak poprzednio problem pojawia się podczas próby wywołania xjc z jaxws-maven-plugin, tylko tym razem zachowanie jest dla mnie całkowicie niezrozumiałe, bo nie wylatuje już wyjątek o niemożliwości stworzenia instancji pluginu xjc, tylko jest on "niezauważony". Następuje próba generowania przy użyciu standardowego xjc, który nie rozpoznaje wysłanej do niego opcji.

Czy ktoś z Was spotkał się z podobnym zachowaniem? 
Będę wdzięczny za wszystkie wskazówki

Pozdrawiam
mw
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads