Obsah
V tomto tutoriálu vytvoříme webovou aplikaci pomocí archetypu Maven s kompilátorem Java 1.4, abychom později zjistili, jak pluginy fungují s Mavenem, jak jsou deklarovány a jak se používají.První věc, kterou uděláme, je inicializace našeho generátoru archetypů pomocí příkazu mvn acrhetype: generovat stejným způsobem, jako jsme to udělali v našem předchozím kurzu, a když nás požádá o číslo, které identifikuje archetyp, zahrneme následující výraz:
Webapp-j2ee14
Který bude filtrovat archetypy, aby nám poskytl ten, který odpovídá webové aplikaci, která používá Java EE 1.4, kterou vybereme s 1 (pokud zadáte pouze frázi „webapp“, získáte rozsáhlejší seznam webové archetypy, ale toto bude ten, který použijeme v tomto tutoriálu). Jakmile je vybrán, přiřaďte mu „groupId“ podle vašeho výběru a artefaktId „mywebapp14“ a pokračujte, dokud není vytváření dokončeno.
S tímto by vám měla zůstat složka s názvem webapp14 a soubor POM, který by měl vypadat takto:
Můžete si všimnout, že existuje několik rozdílů od základního archetypu, který jsme vytvořili dříve:
- Štítek „balení“ nyní ukazuje na válku místo nádoby, která vygeneruje soubor, který můžeme nasadit na námi preferovaný webový server.
- Máme 2 další závislosti, které nám pomohou při generování webových aplikací. Balík javax.servlet a balíček javax.servlet.jsp abychom mohli v našem kódu používat servlety a JSP (které jsou skvěle podporovány serverem we Tomcat).
- Po závislostech máme blok „build“, kde je umístěn plugin kompilátoru Maven. Důvodem je, že Maven kompiluje náš kód pomocí vlastního výchozího pluginu, který bude upraven na verzi Java, kterou máte ve svém počítači, ale protože v tomto projektu jsme se rozhodli použít Java 1.4, POM výslovně uvádí, že budeme používat TATO konkrétní verze. Java.
To nám říká, že Maven vždy kompiloval náš kód pomocí nativního pluginu. To se provádí, aby byla v nástroji větší flexibilita, protože jako modifikovatelný atribut v POM můžete jej nakonfigurovat tak, aby používal jakýkoli jiný typ pluginu (později použijeme plugin Jetty pro webové aplikace).
Jakmile Maven dokončí generování našeho archetypu (a tyto kroky jste mohli udělat v předchozím tutoriálu), přejdeme na příkazový řádek ve složce, která obsahuje soubor POM (mywebapp14 v tomto tutoriálu) a odtud dejte Mavenovi pokyny, se kterými bude manipulovat s naším kódem. Mezi hlavní příkazy Maven patří:
mvn čisté„Čistí“ naši cílovou složku, odstraní dosud zabalené soubory a ponechá naši aplikaci v „počátečním stavu“.
mvn kompilovatZkompilovat naše java třídy umístěné ve složce src / main generující odpovídající .class ve složce target / classes našeho projektu.
mvn testOtestujte náš kód pomocí testovacích případů, které jsme vytvořili v naší složce src / test.
mvn balíčekBalí náš kód podle formátu, který jsme definovali v souboru POM, a umístí jej do cílové složky.
Je třeba poznamenat, že tyto příkazy jsou prováděny sekvenčně, to znamená, že při použití příkazu test bude náš projekt zkompilován a testován a při použití příkazu balíček je kód zkompilován a testy provedeny před konečným zabalením. Navíc, jak jsem již vysvětlil dříve, tyto příkazy závisí na pluginu, který v sestavení používáte. V tomto případě jsou to příkazy používané kompilátorem Maven.
Chcete -li zjistit, jak se kompilace Maven liší, proveďte následující test
1. Vytvořte třídu „MyWebApp.java“ v balíčku, který upřednostňujete v rámci vaší aplikace.
2. V rámci třídy deklarujte odpovídající balíček a hned poté umístěte:
Importovat java.util. *;
3. Uvnitř třídy vytvořte metodu hlavní a vložte do něj následující řádek kódu:
Seznam l = nový ArrayList ();
4. Uložte třídu Java a spusťte příkaz mvn kompilace.
5. Sledujte chybu, kterou vám poskytne příkazový řádek.
6. V souboru POM změňte „1,4“ mezi tagy „zdroj“ a cíl na „1,5“.
7. Spusťte příkaz znovu mvn kompilace.
Chyba je v tom, že Java 1.4 nepodporuje generické typy v kolekcích, protože to bylo implementováno od Java 1.5.
Jak vidíte, konfigurace a používání Mavenu je extrémně jednoduché, ale můžete si to zkomplikovat, stejně jako vám to způsobí přidáním závislostí a doplňků.
Doufám, že mě budete číst i v dalším tutoriálu a nezapomeňte zanechat své komentáře, až příště!Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod