Java Academy · leksjon

Maven-plugins og mål

Tilpass bygget

Leksjon 2 av 413 trinn

Maven-plugins og mål er en gratis leksjon i Java Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Java Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Java Academy inneholder totalt 4 leksjoner.

Maven-programtillegg og mål

Maven selv gjør nesten ingenting — alt det faktiske arbeidet utføres av programtillegg. Et programtillegg bidrar med mål, og mål knyttes til livssyklusfaser. Denne leksjonen viser hvordan programtillegg tilpasser en bygging.

Programtillegg kontra mål

Et programtillegg er en pakket samling av beslektede funksjoner. Et mål er én bestemt oppgave i et programtillegg. Compiler Plugin tilbyr for eksempel målene compile og testCompile.

Målkoordinater

De kan starte et mål direkte som plugin:goal. For eksempel mvn compiler:compile eller mvn surefire:test. Vanligvis kjøres mål automatisk fordi de er knyttet til faser.

Fasetilknytninger

Standardtypen for pakking knytter standardprogramtillegg til faser på forhånd. For et jar-prosjekt knyttes Compiler Plugins compile-mål til fasen compile, og Surefire Plugins test-mål knyttes til test — derfor fungerer mvn test uten videre.

Konfigurere kompilatoren

De konfigurerer et programtillegg innenfor <build><plugins>. Her angir vi Java-utgivelsesnivået, slik at kompilatoren målretter en bestemt versjon.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.13.0</version>
      <configuration>
        <release>21</release>
      </configuration>
    </plugin>
  </plugins>
</build>

Surefire Plugin

Surefire kjører enhetstester under fasen test. De kan konfigurere hvilke tester som skal inkluderes, parallellitet og JVM-argumenter. Søsterprogramtillegget Failsafe kjører integrasjonstester i fasen verify.

Knytte en ekstra execution

En <execution>-blokk knytter et mål eksplisitt til en fase, eventuelt med egen konfigurasjon. Slik kobler De til ekstra arbeid, for eksempel generering av kode før kompilering.

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>print-banner</id>
      <phase>generate-sources</phase>
      <goals><goal>run</goal></goals>
    </execution>
  </executions>
</plugin>

Bygge en fat JAR

Standard-JAR-filen inneholder ikke avhengigheter. Shade-programtillegget (eller Assembly-programtillegget) samler alt i én kjørbar uber-jar og knytter målet til fasen package.

Exec Plugin

Exec-programtillegget lar Dem kjøre applikasjonen fra Maven med mvn exec:java ved å angi hovedklassen. Praktisk for raske kjøringer uten pakking.

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <configuration>
    <mainClass>com.example.App</mainClass>
  </configuration>
</plugin>

Programtilleggsstyring

I en bygging med flere moduler fastsetter <pluginManagement> i den overordnede POM-en programtilleggsversjoner og delt konfigurasjon. Underordnede moduler refererer deretter til programtillegget uten å gjenta versjonen, slik at byggingene blir konsistente.

Finne konfigurasjon

Bruk mvn help:describe -Dplugin=compiler for å vise målene og parameterne til et programtillegg. Dette er den raskeste måten å finne ut hvilke innstillinger et programtillegg tilbyr, uten å forlate terminalen.

Kort kontroll

Test forståelsen Deres av programtillegg og mål.

Oppsummering

De har lært hvordan Maven-programtillegg fungerer:

  • Alt faktisk byggearbeid utføres av programtillegg, som bidrar med mål.
  • Mål er knyttet til livssyklusfaser, slik at standardfasene fungerer uten videre.
  • Konfigurer programtillegg i <build><plugins>; legg til executions for ekstra tilknytninger.
  • Shade/Assembly bygger fat JAR-filer; Exec kjører appen; Surefire/Failsafe kjører tester.
  • mvn help:describe viser målene og parameterne til et programtillegg.
Gratis å komme i gang

Lær deg Java med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
104
Leksjoner
374

Ofte stilte spørsmål

Er leksjonen «Maven-plugins og mål» gratis?

Ja – hele teksten i «Maven-plugins og mål» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Java Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Java Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Maven-plugins og mål»?

Tilpass bygget Du øver på Java Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Java Academy?

Ingen tidligere erfaring er nødvendig. Java Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Maven-plugins og mål»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Java Academy-leksjonen?

Ja. Alle Java Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Maven-prosjektstruktur
  2. Maven-plugins og mål
  3. Grunnleggende Gradle
  4. Velge et byggeverktøy
← Tilbake til Java Academy