2022-08-12-06-08-43-czym-jest-opakowanie-pom-w-maven.png

Czym jest opakowanie POM w maven

W maven oprócz jar i war jest jeszcze trzecie opakowanie znane jako opakowanie POM.

Nasz blog może się rozwijać dzięki naszym sponsorom. Nasz kurs dockera powstał dzięki współpracy z chmurami Vultr i tam dokładnie został przetestowany. Nasz szablon pochodzi z Envato MarketPlace. Wszystkie pluginy i elementy stron internetowych, jakie opisujemy, pochodzą z Envato Elements. Wszystkie książki, opisane na tym blogu, są dostepne u wydawcy Helion. Jesteśmy także partnerem Respondent.io, platformy, która płaci za testowanie aplikacji.

Opakowanie POM to projekt agregatora lub wielomodułowego, który składa podmoduły pochodzące z różnych źródeł. Te podmoduły są zwykłymi projektami Maven i podążają za własnymi cyklami życia kompilacji. Agregator POM zawiera wszystkie referencje submodułów w elemencie modules .

Wyjaśnię to na przykładzie, abyś mógł rzeczywiście zrozumieć jego zastosowanie.

Wyobraź sobie, że masz 9 projektów Maven Jar i 1 Maven War. Niech projekty jar będą projekt1,projekt2………..do projektu9. Projekt maven war jest naszym głównym projektem, który ma zależności od wszystkich 9 projektów jar, a każdy projekt jar jako zależność od poprzedniego jara w kolejności alfabetycznej, czyli project9 zależny od project8, project8 jest zależny od project7 i tak dalej.

Więc jeśli robisz to normalnie, najpierw musisz zbudować projekt1, potem projekt2 i tak dalej, aż do projektu9. Dopiero po ukończeniu wszystkich tych buildów możesz zbudować nasz główny projekt. Więc to jest bardzo żmudna praca. A jeśli zbudujemy projekt w sposób losowy, kompilacja nie będzie korzystała z najnowszej zależności. To jest opakowanie pom.

Następnie tworzysz nowy projekt maven z opakowaniem pom. Następnie dodaj wszystkie projekty w rosnącej kolejności zależności jako moduły w pliku pom.xml nowo utworzonego projektu pom.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
		 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

	<!-- parent pom -->
    <groupId>com.silenceonthewire.multi</groupId>
    <artifactId>java-multi-modules</artifactId>
    <packaging>pom</packaging>
	<version>1.0</version>

	<!-- sub modules -->
	<modules>
        <module>web</module>
        <module>module1</module>
        <module>module2</module>
        <module>module3</module>
    </modules>
	
</project>

Teraz zbuduj projekt pom. Zbudowanie tego spowoduje uporządkowane zbudowanie wszystkich zależności i wystarczy wdrożyć tylko główny projekt. Jest to więc najbardziej użyteczna aplikacja opakowań pom, z której korzystałem w swojej nauce.

Udostępnij

Porozmawiajmy o Twoich potrzebach

POROZMAWIAJMY O USŁUGACH, JAKICH POTRZEBUJESZ DLA SWOJEGO BIZNESU

Z chęcia pomożemy Ci wzrastać w wybranym przez Ciebie biznesie.