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.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Jakub Podlesak

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today