Apache Maven Standard Directory Layout
1. Introduksjon
Apache Maven er et av de mest populære byggverktøyene for Java-prosjekter. Bortsett fra bare å desentralisere avhengigheter og arkiver, er det også en av dens viktige sider å fremme en enhetlig katalogstruktur på tvers av prosjekter.
I denne raske artikkelen vil vi utforske standard katalogoppsett for et typisk Maven-prosjekt.
2. Katalogoppsett
Et typisk Maven-prosjekt har en pom.xml fil og en katalogstruktur basert på definerte konvensjoner:
└ java │ ├───ressurser │ ├─── filter ─side └─── montering
Standard katalogoppsett kan overstyres ved hjelp av prosjektbeskrivere, men dette er uvanlig og motet.
I denne artikkelen vil vi avdekke flere detaljer om hver standardfil og underkatalog.
3. Root Directory
Denne katalogen fungerer som roten til hvert Maven-prosjekt.
La oss se nærmere på standardfilene og underkatalogene som vanligvis finnes ved roten:
- maven-project / pom.xml - definerer avhengigheter og moduler som er nødvendige i løpet av byggelevet til et Maven-prosjekt
- maven-project / LICENSE.txt - lisensinformasjon om prosjektet
- maven-project / README.txt - sammendrag av prosjektet
- maven-project / NOTICE.txt - informasjon om tredjepartsbiblioteker som er brukt i prosjektet
- maven-prosjekt / src / main - inneholder kildekode og ressurser som blir en del av gjenstanden
- maven-prosjekt / src / test - har alle testkoder og ressurser
- maven-prosjekt / src / it - vanligvis reservert for integrasjonstester som brukes av Maven Failsafe Plugin
- maven-prosjekt / src / nettsted - nettstedsdokumentasjon opprettet ved hjelp av Maven Site Plugin
- maven-prosjekt / src / montering - monteringskonfigurasjon for emballeringsbinarier
4. Den src / main Katalog
Som navnet tilsier, src / main er den viktigste katalogen til et Maven-prosjekt. Alt som skal være en del av en gjenstand, det være seg en krukke eller krig, burde være til stede her.
Underkatalogene er:
- src / main / java - Java kildekode for gjenstanden
- src / main / resources - konfigurasjonsfiler og andre som i18n filer, konfigurasjonsfiler per miljø og XML-konfigurasjoner
- src / main / webapp - for webapplikasjoner, inneholder ressurser som JavaScript, CSS, HTML-filer, visningsmaler og bilder
- src / main / filters - inneholder filer som injiserer verdier i konfigurasjonsegenskapene i ressursmappen under byggefasen
5. Den src / test Katalog
Katalogen src / test er stedet der testene av hver komponent i applikasjonen ligger.
Merk at ingen av disse katalogene eller filene blir en del av gjenstanden. La oss se underkatalogene:
- src / test / java - Java kildekode for tester
- src / test / ressurser - konfigurasjonsfiler og andre som brukes av tester
- src / test / filtre - inneholder filer som injiserer verdier i konfigurasjonsegenskapene i ressursmappen under testfasen
6. Konklusjon
I denne artikkelen så vi på standard katalogoppsett for et Apache Maven-prosjekt.
Flere eksempler på Maven-prosjektstrukturer finnes i GitHub-prosjektet.