Groovy Scripttutorial voor beginners

โšก Slimme samenvatting

Groovy Script is een objectgeoriรซnteerde taal voor de Java platform dat compileert naar JVM-bytecode. Het voegt dynamische typen toe.ping, sluitingen en beknopte syntaxis Javaen het levert stroom Jenkins pijpleidingen, Gradle bouwt, en SoapUI beweringen.

  • ๐Ÿงฉ Java verenigbaar: Meest geldig Java code compileert ongewijzigd in GroovyDaardoor blijven de leerkosten erg laag.
  • โšก Less standaardformulering: Een enkele println-regel vervangt de klasse, de main-methode en de System.out-aanroep. Java eisen.
  • ๐Ÿ”€ Dynamische typing: Het sleutelwoord `def` maakt het mogelijk om een โ€‹โ€‹variabele zowel een `Integer` als een `String` te laten bevatten tijdens de uitvoering.
  • ๐Ÿ” Compacte lussen: De methoden upto, times en step vervangen omslachtige C-achtige for-lussen in รฉรฉn regel.
  • ???? Inheemse collecties: Lijsten en maps hebben een letterlijke syntaxis plus hulpmethoden zoals pop, keySet en sort.
  • ???? sluitingen: Codeblokken fungeren als objecten, accepteren parameters, retourneren waarden en kunnen binnen andere closures worden genest.
  • โš™๏ธ Drie hulpmiddelen: Groovysh biedt een shell, groovyConsole biedt een grafische gebruikersinterface (GUI) en groovy voert scriptbestanden direct uit.

Groovy Scripttutorial voor beginners

Wat is een Groovy Script?

apache Groovy is een objectgeoriรซnteerde, Java syntactisch compatibele programmeertaal gebouwd voor de Java platform. Deze dynamische taal heeft veel kenmerken die vergelijkbaar zijn met PythonRuby, Smalltalk en Perl. Groovy broncode wordt gecompileerd in Java bytecode, dus het werkt op elk platform waar een Java De virtuele machine is geรฏnstalleerd. Groovy Het bedrijf verricht ook veel werk achter de schermen, waardoor het wendbaarder en dynamischer aanvoelt dan een gewoon bedrijf. Java.

A Groovy script is gewoon een .groovy bestand met verklaringen die Groovy Het wordt in een gegenereerde klasse verpakt voordat het wordt uitgevoerd. Daarom kun je een bestand van รฉรฉn regel uitvoeren zonder een klasse of iets dergelijks te hoeven schrijven. main methode. Groovy kan daarom gebruikt worden als scripttaal voor de Java platform, terwijl het nog steeds de zakelijke mogelijkheden biedt van JavaHet voegt productiviteitsfuncties toe zoals DSL-ondersteuning, afsluitingen en optionele dynamische typen.pingIn tegenstelling tot sommige andere talen is het ontworpen als een aanvulling op JavaHet is geen vervanging ervan.

๐Ÿ’กTip: Groovy 5.0 is de huidige stabiele release en is bedoeld voor JDK 11 en hoger. Groovy Versie 4.0 blijft beschikbaar voor JDK 8-projecten, en Groovy Versie 6.0 van JDK 17 bevindt zich nog in de alfafase. Controleer altijd de systeemvereisten op de officiรซle downloadpagina voordat u een versie kiest.

Waarom Groovy?

Hieronder volgen de belangrijkste redenen waarom u het zou moeten gebruiken en leren. Groovy:

  • Groovy Het is een wendbare en dynamische taal.
  • Het integreert naadloos met alle bestaande systemen. Java objecten en bibliotheken.
  • Het voelt gemakkelijk en natuurlijk aan om Java ontwikkelaars.
  • De code is beknopter en betekenisvoller dan de equivalente code. Java code.
  • Je kunt het binnen zo veel of zo weinig gebruiken als je wilt. Java toepassingen.
  • Het draait op de standaard Java Virtuele machine, dus er is geen aparte runtime nodig.

Groovy Geschiedenis

  • 2003: Gestart door James S.tracHan en Bob McWhirTer.
  • 2004: Ingediend bij de Java Gemeenschapsproces als JSR 241, dat later werd ingetrokken.
  • 2005: Teruggebracht op track door Jeremy Rayner en Guillaume Laforge.
  • 2007: Groovy 1.0 vrijgegeven.
  • 2012: Groovy 2.0 vrijgegeven.
  • 2014: Groovy Versie 2.3 is uitgebracht met officiรซle ondersteuning voor JDK 8.
  • 2015: Groovy werd een topproject bij Apache Software Foundation.
  • 2022: Groovy Versie 4.0 is uitgebracht, waarbij de Maven-coรถrdinaten zijn verplaatst naar org.apache.groovy.
  • 2025: Groovy Versie 5.0 is uitgebracht voor JDK 11 en hoger.

Kenmerken van Groovy

  • Lijst-, kaart-, bereik- en reguliere expressie-literalen.
  • Multimethoden (runtime method dispatch) en metaprogrammering.
  • Groovy Klassen en scripts worden meestal opgeslagen in .groovy bestanden.
  • Scripts bevatten Groovy verklaringen zonder enige klassendeclaratie.
  • Scripts kunnen ook methodedefinities bevatten buiten de klassendefinities.
  • Groovy code kan worden gecompileerd en volledig worden geรฏntegreerd met een traditioneel systeem. Java toepassing.
  • Taalspecifieke ondersteuning voor kaarten, lijsten en reguliere expressies.
  • Ondersteuning voor sluitingen, dynamische typingen het meta-objectprotocol.
  • Ondersteuning voor zowel statische als dynamische typenping, plus overbelasting van de operator.
  • Optionele statische typecontrole via de @TypeChecked en @CompileStatic annotaties.

Hoe te installeren Groovy

Stap 1) Zorg ervoor dat je dat hebt gedaan Java geรฏnstalleerd.

Stap 2) Ga naar https://groovy.apache.org/download.html En klik op de knop Windows Installatielink.

Groovy Downloadpagina met de link naar het installatieprogramma

Opmerking: u kunt ook installeren Groovy vanuit het binaire Zip-bestand, via een pakketbeheerder zoals SDKMAN!, Homebrew, Scoop of Chocolatey, of als een plugin voor uw Java IDE. In deze Groovy Tijdens de handleiding houden we ons aan de Windows installateur.

Stap 3) Start het gedownloade installatieprogramma. Selecteer de taal en klik op OK.

Groovy dialoogvenster voor het selecteren van de installatietaal

Stap 4) Klik op het welkomstscherm op VOLGENDE.

Groovy welkomstscherm van de installateur

Stap 5) Ga akkoord met de licentievoorwaarden.

Groovy scherm met de installatielicentieovereenkomst

Stap 6) Selecteer de componenten die u wilt installeren en klik op VOLGENDE.

Groovy scherm voor het selecteren van installatiecomponenten

Stap 7) Selecteer de installatiemap en klik op VOLGENDE.

Groovy installatiemap scherm

Stap 8) Selecteer de map 'Startmenu' en klik op 'Volgende'.

Groovy installatieprogramma Startmenu mapscherm

Stap 9) Zodra de installatie is voltooid, laat u de paden op de standaardinstellingen staan โ€‹โ€‹en klikt u op VOLGENDE.

Groovy installatieomgeving padscherm

Stap 10) Bevestig de opties voor bestandskoppeling en klik op VOLGENDE.

Groovy scherm voor het koppelen van installatiebestanden

Stap 11) Zoek in het Startmenu naar Groovy De console wordt gebruikt om de installatie te bevestigen.

Zoeken in het Startmenu toont de Groovy Console-sneltoets

โš ๏ธ Waarschuwing: De Windows Het installatieprogramma is een door de community bijgedragen product, geen officiรซle Apache-release. Als uw organisatie ondertekende Apache-downloads vereist, gebruik dan de binaire Zip-distributie en controleer de authenticiteit ervan. .asc handtekening en .sha256 In plaats daarvan een checksum gebruiken.

Groovy Hallo wereld voorbeeld

Stel dat je de eenvoudige tekenreeks "Hallo wereld" wilt afdrukken in JavaDe code zou er als volgt uitzien.

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Output:

Hello World

De bovenstaande code is geldig in beide gevallen. Java en Groovyomdat Groovy accepteert vrijwel alles Java syntaxis. Het voordeel met Groovy Het voordeel is dat je de klassedeclaratie, de openbare methode en de volledig gekwalificeerde printopdracht kunt weglaten en dezelfde uitvoer met รฉรฉn enkele regel kunt bereiken.

println "Hello World"

Output:

Hello World
  • Een puntkomma is niet nodig.
  • Een cursus of een main methode.
  • System.out.println wordt gereduceerd tot println.

Groovy Variabelen

In JavaStatische binding is verplicht, wat betekent dat het type van een variabele van tevoren moet worden gedeclareerd.

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

Output:

104

In het bovenstaande voorbeeld wordt het type van de variabele vooraf gedeclareerd met behulp van het sleutelwoord. intAls je een drijvende-komma getal wilt declareren, gebruik je het trefwoord. float or double.

Als je probeert een String-waarde toe te wijzen aan een int (Verwijder het commentaar bij regel 5), dan krijgt u de volgende compilatiefout.

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

In tegenstelling tot, Groovy ondersteunt dynamische typingVariabelen worden gedefinieerd met behulp van het trefwoord. defEn het type hoeft niet van tevoren te worden gedeclareerd. De runtime bepaalt het variabele type, en je kunt dat type later zelfs nog wijzigen.

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

Output:

class java.lang.Integer
class java.lang.String

In Groovy Je kunt ook tekenreeksen over meerdere regels maken. Zorg er wel voor dat je de tekenreeks tussen driedubbele aanhalingstekens plaatst.

def x = """Groovy
at
Guru99"""
println x

Output:

Groovy
at
Guru99

Let op: Je kunt nog steeds expliciete typen gebruiken, zoals byte, short, inten long in GroovyMaar zodra je het type expliciet declareert, kun je het niet meer dynamisch wijzigen.

int x = 104
println x
x = "Guru99"

Output:

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
Command exited with non-zero status 1

Groovy Operaverdraaid

Een operator is een symbool dat de compiler vertelt een specifieke wiskundige of logische bewerking uit te voeren. Groovy ondersteunt de volgende vijf families van operators.

  • Rekenkundige operatoren: optellen (+), aftrekkentract (-), vermenigvuldigen (*), delen (/), modulus (%), verhogen (++), verlagen (โ€“).
  • Relationele operatoren: gelijk aan (==), niet gelijk aan (!=), kleiner dan (<), kleiner dan of gelijk aan (<=), groter dan (>), groter dan of gelijk aan (>=).
  • Logische operatoren: en (&&), of (||), niet (!).
  • Bitwise-operatoren: en (&), of (|), exclusieve of (^), complement (~).
  • Toewijzingsoperatoren: ken (=) en de samengestelde vormen (+=), (-=), (*=), (/=), (%=) toe.

Groovy voegt een paar operators toe die Java Dat is niet het geval, en ze verwijderen veel overbodige code voor null-controles.

Operator Beschrijving
?. Veilige navigatie. Retourneert null in plaats van een NullPointerException te gooien wanneer de linkerkant null is.
?: Elvis-operator. Geeft de linkerkant terug als deze waar is, anders de rechterkant.
<=> Ruimteschipoperator. Delegeert aan compareTo en is nuttig binnen sorteerafsluitingen.
==~ Reguliere expressie-match. Retourneert alleen true als de hele tekenreeks overeenkomt met het patroon.

Groovy Passanten

In JavaJe zou een tel-lus als volgt definiรซren.

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

Output:

0
1
2
3
4
5

Je kunt dezelfde output bereiken in Groovy met de upto methode, die beide grenzen omvat.

0.upto(5) { println "$it" }

Output:

0
1
2
3
4
5

Hier it is de impliciete parameter van de closure en bevat de waarde van de huidige iteratie. Bekijk de volgende code.

2.upto(4) { println "$it" }

Output:

2
3
4

U kunt ook gebruik maken van de times methode. Het begint altijd bij 0 en stopt รฉรฉn voor het getal waarop je het aanroept, dus je hebt 6 nodig om 0 tot en met 5 af te drukken.

6.times { println "$it" }

Output:

0
1
2
3
4
5

Stel dat je nu de getallen 0, 2 en 4 wilt afdrukken met een Java for loop.

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

Output:

0
2
4

U kunt gebruik maken van de step methode voor hetzelfde resultaat. Het tweede argument is de increment, en het eerste argument is een exclusieve bovengrens.

0.step(5, 2) { println "$it" }

Output:

0
2
4

Groovy Besluitvorming

Groovy hergebruikt de Java voorwaardelijke instructies en voegt een veel flexibelere oplossing toe. switchDe tabel hieronder geeft een overzicht van de opties.

Statement Beschrijving
als verklaring Als in JavaDe body van de if-instructie wordt uitgevoerd wanneer de voorwaarde waar is.
if/else-instructie De voorwaarde in de if-instructie wordt eerst geรซvalueerd. Als deze waar is, worden de instructies in het if-blok uitgevoerd en wordt het else-blok overgeslagen. Als de voorwaarde onwaar is, worden in plaats daarvan de instructies in het else-blok uitgevoerd.
Geneste if-instructie Wordt gebruikt wanneer je een verdere voorwaarde binnen een if-blok wilt testen.
switch-instructie Een geneste if-else-keten wordt onleesbaar wanneer er veel voorwaarden zijn. De switch-instructie maakt dezelfde logica gemakkelijker leesbaar. GroovyEen caselabel kan een waarde, een klasse, een bereik, een reguliere expressie of een closure zijn.
Geneste switch-instructie Groovy Hiermee kan ook een switch-statement binnen een ander switch-statement worden geplaatst.

Groovy Lijst

Een lijststructuur stelt je in staat om een โ€‹โ€‹verzameling gegevensitems op te slaan. GroovyEen lijst bevat een reeks objectverwijzingen en behoudt de positie van elk element in die reeks. Een lijstliteral wordt geschreven als een reeks objecten, gescheiden door komma's en tussen vierkante haken geplaatst.

Voorbeelden Groovy lijsten:

  • Een lijst met tekenreeksen: ['Angular', 'Nodejs']
  • Een lijst met gemengde objectverwijzingen: ['Groovy', 2, 4, 2.6]
  • Een lijst met gehele getallen: [16, 17, 18, 19]
  • Een lege lijst: []

De volgende lijstmethoden zijn beschikbaar in Groovy.

Methode Beschrijving
toevoegen() Voegt een nieuwe waarde toe aan het einde van de lijst.
bevat() Retourneert true als de lijst een bepaalde waarde bevat.
krijgen() Geeft het element op de opgegeven positie terug.
is leeg() Retourneert true als de lijst geen elementen bevat.
minus() Hiermee wordt een nieuwe lijst gemaakt met de elementen van de originele lijst, met uitzondering van de elementen die in de opgegeven verzameling zijn gespecificeerd.
plus() Hiermee wordt een nieuwe lijst gemaakt, bestaande uit de elementen van de originele lijst en de elementen uit de gegeven verzameling.
knal() Verwijdert het laatste item uit de lijst en geeft het terug.
verwijderen() Verwijdert het element op de opgegeven positie.
omgekeerde() Hiermee wordt een nieuwe lijst gemaakt die de elementen van de oorspronkelijke lijst omdraait.
grootte() Geeft het aantal elementen in de lijst weer.
soort() Geeft een gesorteerde kopie van de lijst terug.

Stel je de volgende situatie voor Groovy Scriptvoorbeeld.

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

Output:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

De eerste regel print de oorspronkelijke lijst met vijf elementen, omdat add() is nog niet uitgevoerd. get(2) retourneert "Beste" sinds Groovy Lijsten zijn nul-geรฏndexeerd, en pop() Geeft "Leren" terug omdat dat item als laatste is toegevoegd.

Groovy Maps

A Groovy Een map is een verzameling sleutel-waardeparen. Sleutels hoeven niet tussen aanhalingstekens te staan โ€‹โ€‹als het eenvoudige identificatoren zijn, waardoor de letterlijke waarden in een map zeer compact blijven.

Voorbeelden Groovy kaarten:

  • [tutorial: 'Java', language: 'Groovy'] is een verzameling van twee sleutel-waardeparen.
  • [:] geeft een lege kaart weer.

Hieronder vindt u een lijst met de beschikbare kaartmethoden in Groovy.

Methode Beschrijving
bevatSleutel() Controleert of de kaart de opgegeven sleutel bevat.
krijgen() Zoekt de sleutel op in de Map en retourneert de overeenkomende waarde. Als er geen resultaat wordt gevonden, retourneert de functie null.
sleutelbos() Retourneert de set sleutels in de Map.
zetten() Koppelt de opgegeven waarde aan de gegeven sleutel. Als de Map al een Map bevatte.ping Voor die sleutel wordt de oude waarde vervangen.
grootte() Retourneert het aantal sleutel-waardeparen.pings.
waarden () Geeft een collectieweergave van de waarden terug.

Groovy voorbeeld:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

Output:

Jen

Groovy sluitingen

A Groovy Een closure is een blok code dat is verpakt als een object. Het gedraagt โ€‹โ€‹zich als een methode of een functie, maar kan worden opgeslagen in een variabele en worden doorgegeven zoals elke andere waarde.

Voorbeeld van een eenvoudige afsluiting:

def myClosure = {
    println "My First Closure"
}
myClosure()

Output:

My First Closure

Een closure kan parameters accepteren. De lijst met identificatoren wordt gescheiden door komma's, waarbij een pijl (->) het einde van de parameterlijst aangeeft.

def myClosure = {
    a, b, c ->
    y = a + b + c
    println y
}
myClosure(1, 2, 3)

Output:

6

Een closure kan ook een waarde retourneren.

def myClosure = {
    a, b, c ->
    return (a + b + c)
}
println(myClosure(1, 2, 3))

Output:

6

Als u geen parameterlijst declareert, Groovy levert รฉรฉn impliciete parameter genaamd itClosures kunnen ook aan andere closures worden doorgegeven, en dat is precies hoe collectiemethoden zoals each, collecten findAll werken.

Groovy Tools

We zullen drie belangrijke hulpmiddelen bekijken die bij de levering worden meegeleverd. Groovy verdeling:

  1. groovysh: Voert code interactief uit vanaf de commandoregel.
  2. groovyConsole: Een grafisch venster voor interactieve code-uitvoering.
  3. gaaf: wordt uitgevoerd Groovy scriptbestanden, op dezelfde manier als je een Perl- of Python scripts.

Groovysh

  • Een commandoregelomgeving.
  • Helpt je bij de uitvoering Groovy Programmeer interactief.
  • Hiermee kunt u afzonderlijke instructies of complete scripts invoeren.

De onderstaande schermafbeelding laat zien hoe Groovysh expressies regel voor regel evalueert.

groovysh-opdrachtregelshell die wordt uitgevoerd Groovy verklaringen

Groovy troosten

  • Een Swing-interface die fungeert als een minimale Groovy ontwikkelingsredacteur.
  • Hiermee kunt u schrijven en uitvoeren Groovy Programmeer interactief.
  • Helpt je bij het laden en uitvoeren Groovy scriptbestanden.

In de Groovy Hieronder in de console: het script wordt in het bovenste venster getypt en het resultaat verschijnt in het onderste venster.

Groovy Console Swing-editor met script- en uitvoervensters

Groovy

De groovy De opdracht is de processor die het uitvoert. Groovy Het compileert de broncode naar bytecode in het geheugen en voert deze in รฉรฉn stap uit, waardoor een aparte buildfase niet nodig is. Het kan ook worden gebruikt om eenvoudige programma's en scripts te testen. Groovy Uitdrukkingen rechtstreeks vanuit de terminal, zoals hieronder weergegeven.

groovy-commando om een โ€‹โ€‹script vanuit de terminal uit te voeren

Waar Groovy Wordt gebruikt in echte projecten

De meeste ontwikkelaars ontmoeten elkaar Groovy Niet als een op zichzelf staande taal, maar als de scriptlaag binnen een tool die ze al gebruiken. Weten waar het voorkomt, maakt het veel gemakkelijker om de bovenstaande syntax te plaatsen.

Gereedschap Hoe Groovy is gebruikt
Jenkins Declaratieve en gescripte pipelines worden geschreven in een Groovy DSL en gedeelde bibliotheken zijn eenvoudig. Groovy klassen.
Gradle Het klassieke build.gradle bestand is een Groovy script, waardoor het compacter leest dan een Maven POM of een Mier buildbestand.
SoapUI Groovy Scriptstappen en scriptasserties sturen dynamische aanvraaggegevens en aangepaste responscontroles aan.
Spock A Groovy Een testframework met 'given-when-then'-blokken en gegevenstabellen wordt veel gebruikt voor unit tests van de JVM.
Elasticsearch en Grails Grails bouwt complete webapplicaties op Groovyen diverse datatools accepteren Groovy voor aangepaste scripting.

In automatisering testen Voor dit team is dit dubbel belangrijk: zowel de CI-taak die de testsuite uitvoert als de tests zelf kunnen belangrijk zijn. GroovyZo is er รฉรฉn taal die zowel de verbinding tussen de pipelines als de assertielogica dekt.

Groovy Vs. Java

Groovy Java
De standaard toegangsaanpasser is 'public', dus een methode zonder aanpassing is toegankelijk buiten de klasse en het pakket waartoe deze behoort. De standaard toegangsaanpasser is package-private, wat betekent dat velden, methoden en klassen zonder een dergelijke aanpassing alleen binnen hun eigen pakket zichtbaar zijn.
Getters en setters worden automatisch gegenereerd voor klasse-eigenschappen. Je moet zelf getter- en setter-methoden voor de velden definiรซren.
Groovy Hiermee kan variabelen worden vervangen binnen tekenreeksen met dubbele aanhalingstekens. Java Ondersteunt geen tekenreeksinterpolatie.
Het invoeren van het type gegevens is optioneel. Het invullen van het type gegevens is verplicht.
Instructies hoeven niet met een puntkomma te eindigen. Elke zin eindigt met een puntkomma.
Groovy Verpakt automatisch elk script in een gegenereerde Script-klasse. Je hebt een main-methode nodig om een โ€‹โ€‹klasse uitvoerbaar te maken.
Alles is standaard openbaar en dynamisch, maar @CompileStatic Herstelt Java- snelheid en controle op niveau. Alles wordt statisch gecompileerd en gecontroleerd tijdens het bouwproces.

Mythen over Groovy

Mythe Realiteit
Groovy Kan alleen voor scripting worden gebruikt. Het is uitstekend geschikt voor scripting, maar het compileert ook naar gewone klassen die je in elke JVM-applicatie kunt gebruiken.
Groovy Het draait allemaal om closures, dus het is gewoon een functionele programmeertaal. Groovy Het leent ideeรซn van functionele programmeertalen zoals Lisp en Clojure, maar blijft in essentie een objectgeoriรซnteerde taal.
Groovy is alleen de moeite waard voor testgestuurde ontwikkeling. Groovy Het is zeer geschikt voor TDD met Spock, maar dat is zeker niet de enige reden om het te gebruiken.
Je hebt nog Groovy als je Grails wilt gebruiken. Grails is een krachtig framework voor webontwikkeling, maar Gradle, Jenkinsen Spock gebruiken allemaal Groovy zonder het.

Nadelen van het gebruik Groovy

  • JVM en Groovy Het script start traag op, wat het gebruik ervan voor snelle scripting op besturingssysteemniveau beperkt.
  • Groovy wordt buiten JVM-georiรซnteerde gemeenschappen niet algemeen geaccepteerd.
  • Het is onhandig om te gebruiken Groovy zonder een IDE die de dynamische functies ervan begrijpt.
  • Dynamische planning kan ervoor zorgen dat Groovy code trager dan het equivalent Java code, tenzij je het toepast @CompileStatic.
  • Groovy Programma's hebben mogelijk meer geheugen nodig dan gewone programma's. Java 's.
  • Kennis van Java is feitelijk een voorwaarde.

Zodra je je op je gemak voelt met Groovy Na de syntaxis is de natuurlijke volgende stap het ecosysteem eromheen. Versterk de fundamenten met de Java zelfstudie, kijk dan hoe Groovy scripts sturen builds en implementaties aan in Jenkinsvergelijk buildtools met Maven en Apache mieren onderzoeken hoe Groovy beweringen passen in Selenium en API-testsuites.

Veelgestelde vragen

Groovy Versie 5.0 is gericht op JDK 11 en hoger. Groovy Versie 4.0 ondersteunt nog steeds JDK 8, en de in ontwikkeling zijnde versie... Groovy Versie 6.0 is gericht op JDK 17. Controleer de tabel met systeemvereisten op de officiรซle Apache-downloadpagina voordat u een versie kiest.

Nee. De `groovy` opdracht compileert een `.groovy` bestand naar bytecode in het geheugen en voert het direct uit. Je kunt nog steeds vooraf compileren met `groovyc` als je herbruikbare `.class` bestanden wilt maken om in een pakket op te nemen. Java toepassing.

Ja. Apache Groovy Deze software wordt uitgebracht onder de Apache License 2.0, waardoor commercieel gebruik, aanpassing en herdistributie kosteloos zijn toegestaan. Voor herdistribueerde versies gelden alleen de gebruikelijke verplichtingen met betrekking tot naamsvermelding en licentievermelding.

Groovy is de programmeertaal. Grails is een full-stack webframework geschreven in Groovy. U kunt gebruik maken van Groovy voor buildbestanden, pipelines of tests zonder ooit Grails te hoeven installeren, maar Grails kan niet bestaan โ€‹โ€‹zonder. Groovy.

Ze kunnen goed overweg met gangbare concepten zoals closures, collectiemethoden en pipeline-stappen. Voer gegenereerde scripts altijd eerst uit in groovyConsole, omdat modellen soms door elkaar lopen. Java syntaxis met Groovy Snelkoppelingen gebruiken of methoden bedenken die niet bestaan.

Plak de stapel trace en het script in een assistent om mogelijke oorzaken zoals een te achterhalen GroovyEen CastException, een ontbrekende sandbox-goedkeuring of een onjuiste closure-delegate kunnen de oorzaak zijn. Beschouw elke suggestie als een hypothese en bevestig deze aan de hand van het daadwerkelijke buildlogboek.

Vat dit bericht samen met: