Co to robi
Maven to „narzędzie do zarządzania kompilacją”, służy do definiowania sposobu .java
kompilowania plików .class
, pakowania do .jar
( .war
lub .ear
) plików, przetwarzania (przed / po) przetwarzania za pomocą narzędzi, zarządzania Twoimi CLASSPATH
i wszystkimi innymi rodzajami zadań, które są wymagane do zbuduj swój projekt. Jest ona podobna do Apache Ant i Gradle lub Makefile w C / C ++, ale stara się być całkowicie samowystarczalny w tym, że nie ma potrzeby żadnych dodatkowych narzędzi lub skryptów poprzez włączenie innych typowych zadań, takich jak pobieranie i instalowanie potrzeby biblioteki itd.
Jest również zaprojektowany w oparciu o motyw „przenośność kompilacji”, dzięki czemu nie występują problemy związane z tym, że ten sam kod z tym samym skryptem kompilacji działa na jednym komputerze, ale nie na innym (jest to znany problem, mamy maszyny wirtualne z systemem Windows 98 maszyn, ponieważ nie mogliśmy skompilować niektórych naszych aplikacji Delphi nigdzie indziej). Z tego powodu jest to również najlepszy sposób pracy nad projektem między ludźmi, którzy używają różnych IDE, ponieważ skrypty Ant generowane przez IDE są trudne do zaimportowania do innych IDE, ale obecnie wszystkie IDE rozumieją i obsługują Maven ( IntelliJ , Eclipse i NetBeans ). Nawet jeśli nie polubisz Mavena, w końcu jest on punktem odniesienia dla wszystkich innych nowoczesnych narzędzi do budowania.
Dlaczego powinieneś tego używać
W Mavenie są trzy bardzo miłe rzeczy .
Maven (po zadeklarowaniu, z których korzystasz) automatycznie pobierze wszystkie używane biblioteki i biblioteki, których używają. Jest to bardzo przyjemne i sprawia, że obsługa wielu bibliotek jest śmiesznie łatwa. Pozwala to uniknąć „piekła uzależnień” . Jest podobny do Ivy Apache Ant .
Używa " Konwencji zamiast konfiguracji ", więc domyślnie nie musisz definiować zadań, które chcesz wykonać. Nie musisz pisać kroku „kompilacja”, „test”, „pakiet” czy „czyszczenie”, tak jak w Ant lub Makefile. Po prostu umieść pliki w miejscach, w których Maven ich oczekuje i powinno działać bezbłędnie.
Maven ma również wiele fajnych wtyczek, które możesz zainstalować, które będą obsługiwać wiele rutynowych zadań, od generowania klas Java ze schematu XSD przy użyciu JAXB do mierzenia pokrycia testów za pomocą Cobertury . Po prostu dodaj je do swojego, pom.xml
a zintegrują się ze wszystkim, co chcesz zrobić.
Początkowa krzywa uczenia się jest stroma, ale (prawie) każdy profesjonalny programista Java korzysta z Mavena lub sobie życzy. Powinieneś używać Mavena przy każdym projekcie, chociaż nie zdziw się, jeśli przyzwyczajenie się do niego zajmuje trochę czasu i że czasami chcesz, abyś mógł po prostu robić rzeczy ręcznie, ponieważ nauka czegoś nowego czasami boli. Jednak gdy naprawdę przyzwyczaisz się do Mavena, okaże się, że zarządzanie kompilacją prawie nie zajmuje czasu.
Jak zaczac
Najlepszym miejscem do rozpoczęcia jest „ Maven w 5 minut ”. Dzięki temu zaczniesz od projektu gotowego do zakodowania ze wszystkimi niezbędnymi ustawieniami plików i folderów (tak, zalecam użycie archetypu szybkiego startu, przynajmniej na początku).
Po rozpoczęciu będziesz chciał lepiej zrozumieć, w jaki sposób narzędzie ma być używane. Z tego powodu „ Better Builds with Maven ” jest najdokładniejszym miejscem do zrozumienia, jak to działa, jednak „ Maven: The Complete Reference ” jest bardziej aktualny. Przeczytaj pierwszy dla zrozumienia, ale potem użyj drugiego jako odniesienia.