X

Jak mě roboti (zase) dostali

Motto: Nesnažte se být rychlejší než automat

V pondělí na prezentaci CZJUGu se mi povedl parádní generálský efekt s pluginem do Netbeans 6.0. Včera mi autoři pluginu vysvětlili a dnes jsem si oveřil, ze příčinou byla pomalá reakce "umělé inteligence" pluginu.
O co jde? RESTful Web Services plugin se pro danou webovou aplikaci aktivuje na pozadí. Tedy pokud je nainstalován: musíte si jej napřed stáhnout z Netbeans 6.0 beta update centra (viz. obrázek)

Plugin obsahuje knihovny projektu Jersey, několik "wizardů" pro generování RESTových "resources"
a dale propracovaného testovacího klienta. Pro aplikaci, kde jsou použity JSR-311 anotace plugin automaticky nakonfiguruje použití potřebných knihoven, které jsou pak přibaleny i do distribučního war archivu. Tento proces je naprosto transparentní a uživatelem nekontrolovatelný.

Jak to zkazit

Pokud pro psaní svých RESTových "resources" nepoužijete poskytované wizardy, aktivuje se plugin následujicím způsobem. V editoru napíšete JSR-311 anotaci, například

@Path("/brumla")
. Někde ve vnitřnostech Netbeans se v této chvíli
vygeneruje událost, na kterou čeká i náš REST plugin: neznámá anotace. Neznámá proto,
ze není použito plně kvalifikované jméno a chybí import příslušného balíčku.
Ve chvíli, kdy je REST plugin na věc upozorněn, doplní do cesty projektu potřebné knihovny. Když jej ale předběhnete a stisknete [Ctrl][Shift]-I, abyste doplnili importy chybějících balíčků, stane se vám to, co mě při prezentaci a co je vidět na obrázku.

Použil se špatný balíček! Mělo to být import javax.ws.rs.Path;, jenže bylo použito pouze to, co bylo v dané chvíli k dispozici.

Jak z toho ven?


Buď import rovnou opravte nebo ho smažte a chvíli počkejte (tak 5 vteřin). Pak zkuste znovu [Ctrl][Shift]-I.

Pokud uvidíte něco jako je na obrázku, máte vyhráno.
Přesvědčili jste automat, že Jersey knihovny ve svém projektu opravdu chcete, a on je tam doplnil.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.