2011-05-24 26 views
5

Aktualnie używam cxf 2.4.0, a mój kod wywołuje usługę internetową. Udało mi się wygenerować pliki java po stronie klienta przy użyciu wtyczki cxf w Maven. Moje pytanie brzmi: jaka jest najlepsza praktyka dla wygenerowanych plików? Czy powinienem skompilować wygenerowane pliki i spakować wygenerowane pliki klas do pojedynczego pliku JAR, czy też powinienem uwzględnić wszystkie wygenerowane pliki java w ścieżce budowania?CXF Wsdl2Java Najlepsze praktyki

Odpowiedz

0

Dla wygenerowanego kodu, zwykle tworzę "wygenerowany" folder pod "głównym" (main/src/java - main/generated/java) i mam CXF do generowania tam klas. Następnie dodaję "wygenerowany" folder do ścieżki źródłowej kompilatora.

+0

Dzięki! Jaki jest powód, aby nie słoić wygenerowanych plików klas? Czy jest to spowodowane problemem zarządzania zależnościami w twojej technologii usług sieciowych? Że wygenerowane pliki są blokowane do konkretnej wersji CXF i ciężko jest aktualizować i utrzymywać –

+0

Nie, to tylko kwestia preferencji. Jeśli twój klucz wsdl zmienia się często, musisz zregenerować źródła i odtworzyć słoik. Jeśli twój wsdl jest "statyczny", możesz bardzo dobrze utworzyć słoik z wygenerowanego kodu. Nie sądzę, że tutaj jest naprawdę najlepsza praktyka. –

1

uzyskać CXF do generowania kodu pod cel, to wybiera TARGET/generowane-sources/CXF domyślnie, co jest dobre przeze mnie. (Jeśli używasz xjc do obsługi schematu, używa podobnego schematu Maven jest świetny na konwencje!)

Co czasami robię, to umieszczam wygenerowany kod we własnym module maven, co może czasem uprościć rzeczy; Eclipse nie jest w pełni zadowolony z wygenerowanego kodu źródłowego (nie podoba mu się to, że czyszczenie wyrywa kod źródłowy spod nóg), tak więc znikając poza zasięgiem wzroku, sprawy stają się znacznie prostsze. W końcu jest to po prostu biblioteka, która jest generowana z dokumentu WSDL ...

+0

UWAGA: To działa dobrze bez względu na to, czy umieścisz dokument WSDL w projekcie, czy pobierzesz go z zewnętrznego źródła podczas kompilacji; Najczęściej preferuję ten pierwszy, który redukuje liczbę rzeczy, które mogą pójść nie tak (szczególnie w przypadku zależności XSD od twoich zależności WSDL, które czasami mogą skończyć się na serwerze, który nie lubi automatycznych klientów). –

0

Utwórz zadanie kompilacji (ant/maven), które generuje kod i pakuje skompilowany kod do pliku jar. Po zmianie klucza wsdl wystarczy ponownie uruchomić zadanie kompilacji.

Jeśli zdecydujesz się na wygenerowanie źródła, użyj adnotacji Generated. Większość narzędzi generujących WSDL ma tę opcję.