Eclipsa ajunge să cunoască furnica

Când vine vorba de utilizarea mediului integrat de dezvoltare (IDE), trebuie adesea întâmpinat faptul că funcționalitatea acestuia este prea redundantă pentru sarcinile de zi cu zi. Adevărul este în aceasta: există entități noi, mecanisme nefamiliare, multe setări pe care nu trebuie să le gândiți înainte. Cu toate acestea, nu uitați că lucrarea din IDE - un nivel complet nou de dezvoltare și multe din sarcinile obișnuite din el sunt rezolvate diferit. Frumusețea mediului integrat este că dezvoltatorul are capacitatea de a asambla sub un singur acoperiș (adică într-un singur program) multe instrumente diferite care nu numai că vor rezolva diferite sarcini, dar și că vor interacționa îndeaproape unul cu celălalt. Astfel, dezvoltatorul va deschide noi moduri de lucru pe proiect.







Apache Ant este cunoscut de orice programator Java: este un instrument de construcție popular, complet scris în Java. Este susținută de toate IDE-urile: NetBeans. IntelliJ IDEA. Eclipse. Scriptul de construcție Ant este un fișier XML simplu. În ciuda tuturor orientărilor Java, dezvoltatorii obișnuiți pe web folosesc acest instrument pentru a-și rezolva problemele.

Bună ziua!

Eclipsa ajunge să cunoască furnica


  1. Creați un nou proiect și numiți-l, de exemplu, testul ant-test.
  2. În acest proiect, creați un fișier nou numit build.xml. Fișierul ar trebui să se deschidă imediat în editorul Ant.
  3. Să scriem următorul scenariu:
  • Să deschidem fereastra Ant: Fereastră → Afișare vizualizare → Vedere alt.

    Eclipsa ajunge să cunoască furnica


  • În formularul nou deschis, faceți clic pe pictogramă, găsiți fișierul build.xml și faceți dublu clic pe acesta. Acum, în această formă este afișat scriptul nostru, care este foarte convenabil pentru a testa.
  • Deschideți lista my_test_project și faceți dublu clic pe hello-world. Consola ar trebui să afișeze mesajul Hello world!

  • Eclipsa ajunge să cunoască furnica

    Să analizăm mai detaliat structura scenariului. Elementul părinte este cu atributul name este numele scriptului de construire.

    În interiorul etichetei există o etichetă . în interiorul căruia - . Aici ajungem la două concepte importante despre Ant, care la început pot fi puțin confuz: acestea sunt obiectivele și sarcinile. În acest caz, am îndeplinit obiectivul de salut-lume (numele atributului necesar în etichetă ) folosind lucrarea . Pentru a vă ușura să vă amintiți, vă propun să folosiți următoarele reguli: scopul indică exact ce trebuie făcut și sarcinile - cu ajutorul cărora se realizează obiectivul.

    Pentru a obține mai bine cu Ant, să creăm ceva util, de exemplu, compresia curentă a unui set de fișiere js cu ajutorul YUICompressor.

    Să începem să scriem scenariul. Determinați ce obiective vrem să realizăm. Trebuie să construim biblioteca lib.js (primul obiectiv), pentru care trebuie să fuzionăm toate fișierele într-unul (al doilea scop) și să le comprimăm (al treilea scop). Iată un exemplu de scenariu:

    Luați imediat în considerare toate noile elemente și atribute. La element atributul implicit este ținta sau setul de ținte care vor fi executate implicit când este apelat acest script. Vom avea nevoie de acest lucru mai târziu. Atributul basedir specifică un director în raport cu care vor fi luate în considerare toate căile relative la fișiere și directoare. Nu este nevoie să fie specificată, în mod implicit este egală cu calea absolută față de proiectul în care este localizat scriptul.

    După cum puteți vedea din exemplu, avem un punct de intrare - obiectivul build-lib (atributul implicit este ), care depinde de alte două obiective: fișiere concate și minify. Conectarea fișierelor se realizează utilizând o lucrare . În atributul destfile, specificați fișierul în care doriți să salvați rezultatul. Pentru ce fișiere și în ce ordine ar trebui să fie combinate, resursa de fișier răspunde . pe care le acordăm acestei sarcini . Cred că totul este clar aici: în atributul dir, specificați ce director doriți să căutați fișiere și cu ajutorul elementelor setați fișiere specifice. Există destul de multe tipuri de resurse, majoritatea fiind necesare programatorilor Java. Pentru noi cele mai populare vor fi și . Principala diferență este că, în primul caz, este specificat un set clar de fișiere, iar în al doilea caz, un set de fișiere este setat utilizând modelele de includere și excludere. De exemplu, acum am putea înlocui pe această construcție:







    Dar această metodă are o serie de dezavantaje. În primul rând, absolut toate fișierele cu extensia js din directorul js_src vor ajunge în set, ceea ce nu este întotdeauna necesar în cazul proiectelor reale. În al doilea rând, chiar dacă specificați numele de fișiere în modele, această resursă nu garantează ordinea în care doriți să le combinați. Asta este, dacă este important în ce ordine fișierele să fie combinate, este mai bine să setați setul .

    În exemplul de mai sus, este jenant faptul că căile spre foldere sunt introduse în codul de script, așa că le vom pune în proprietăți separate:

    Proprietățile în Ant sunt setate utilizând eticheta . Proprietățile sunt foarte asemănătoare cu constantele din limbile de programare: odată ce le specificați, nu le mai puteți modifica în timpul executării scriptului. Proprietățile ar trebui să fie accesate prin construcția $. Proprietățile pot fi setate nu numai în interior . dar și în interior . și la nivel global pentru întreg IDE prin Preferințe → Ant → Runtime → Proprietăți.

    Pentru stăpâna notei

    Testați scriptul: faceți dublu-clic pe Ant View pe obiectivul build-lib. Ar trebui să aveți un fișier lib.js în directorul js, care va conține conținutul tuturor celor trei fișiere. Dacă fișierul nu apare, reîmprospătați folderul js din Project Explorer.

    Am învățat cum să combinăm fișierele, acum vom învăța cum să le comprimăm cu ajutorul lui YUICompressor. Dezvoltatorul acestei biblioteci minunate recomandă să chemați compresorul ca pe un program extern, vom face mult mai interesant: creați o sarcină separată care va comprima fișierele.

    Structura modulară a lui Ant vă permite să o extindeți adăugând noi sarcini în Java. Acum vom învăța una dintre modalitățile de a adăuga astfel de sarcini în scenariul de construire.

    1. Descărcați YUICompressor și despachetați arhiva undeva, de exemplu, în folderul C: \ yuicompressor.
    2. Descărcați YUIAnt.jar și puneți-l în folderul de construire unde ați despachetat YUICompressor (C: \ yuicompressor \ build).
    3. Adăugați acest design la scriptul din interiorul etichetei :

    Cu ea am creat o nouă sarcină . Pentru ca aceasta să funcționeze, trebuie să specificați calea completă la clasa Java a acestei sarcini (com.yahoo.platform.yui.compressor.YUICompressTask) și să specificați și calea în care se află fișierul cu această clasă ( / ). Acum puteți finaliza obiectivul minify:

    Am provocat sarcina . indicându-i setul de fișiere care trebuie comprimate folosind construcția . Din moment ce folosim sarcina și nu sunăm un fișier extern, Editorul Ant însusi a preluat clasa corectă și acum va scoate codul complet cu atributele sarcinii . Scenariul final de construire arată astfel:

    Verificați țintă build-lib. în directorul js trebuie să aveți lib.js.

    Construiți proiectul

    Și acum să trecem la cele mai interesante. Comoditatea de a integra Ant cu Eclipse nu înseamnă că poți apela oricând țintă dorită din fereastră, dar că poți specifica colectorul pentru proiect.

    Eclipsa ajunge să cunoască furnica

    Accesați proprietățile proiectului ant-test (Project → Properties) și mergeți la elementul Builders. Faceți clic pe Nou și, în caseta de dialog, selectați Ant Builder. În fereastra care apare, specificați un nume pentru colectorul dvs. (de exemplu, Primul meu constructor Ant). Acum trebuie să selectați un script (buildfile). Faceți clic pe butonul "Răsfoiți spațiul de lucru" și selectați fișierul build.xml din proiectul "Ant-test". Faceți clic pe fila Refresh și selectați Reîmprospătați resursele după finalizare și Proiectul care conține resursa selectată. Aceasta înseamnă că, după ce colectorul va actualiza automat lista fișierelor de proiect, astfel încât în ​​Project Explorer veți vedea întotdeauna versiunea curentă a proiectului. Accesați fila Ținte, unde veți vedea o listă de obiective care vor fi executate pentru diferite tipuri de construcție. În mod special, în secțiunile "După curățare" și manuală, se specifică destinația implicită selectată. Aceasta înseamnă că țintă implicită pentru proiect va fi îndeplinită (rețineți atributul implicit pentru ?). Să specificăm încă țintă în construirea automată, pentru aceasta faceți clic pe butonul Set țintă din dreapta butonului Auto Build și faceți clic dreapta pe OK - va fi selectată țintă implicită.

    Acum putem apela colectorul făcând clic pe Project → Build Project (puteți închide comenzi rapide pe această comandă). Și dacă vom selecta opțiunea Proiect → Construiți automat, atunci nu trebuie să facem nimic: proiectul în sine va fi asamblat cu orice schimbare a oricărui fișier de proiect.

    Eclipsa ajunge să cunoască furnica

    Astfel, am ajuns la o automatizare absolut transparentă a sarcinilor de rutină în timp ce lucrăm în IDE. Tot ce trebuie să faceți este să creați un script simplu, să îl specificați ca un asamblator și să activați opțiunea de construire automată. De fiecare dată când modificați un proiect (editarea, ștergerea și adăugarea de fișiere), toate acțiunile necesare vor fi efectuate în fundal fără a distrage dezvoltatorul. Acest lucru este util în special atunci când lucrează într-o echipă: orice dezvoltator poate face modificări în scriptul care va fi executat automat de către oricine altcineva.

    În acest articol, au fost examinate câteva tehnici de bază pentru a lucra cu Ant. Vă sfătuiesc să vă familiarizați cu lista de sarcini standard. există lucruri utile, cum ar fi sincronizarea directoarelor, încărcarea fișierelor prin FTP, executarea interogărilor SQL, transformări XSL, arhivarea fișierelor și multe altele.

    Poți să te uiți la Ant în acțiune într-o conferință de studio pentru tehnologi.

    - Screencast (Quixime, 101 MB)







    Articole similare

    Trimiteți-le prietenilor: