20 najpopularniejszych pytań do wywiadu Maven & Odpowiedzi

Anonim

ściągnij PDF

1) Wyjaśnij, czym jest Maven? Jak to działa?

Maven to narzędzie do zarządzania projektami. Zapewnia deweloperowi pełną strukturę cyklu życia kompilacji. Wykonując polecenia Mavena, będzie szukał pliku POM w Mavenie; uruchomi polecenie na zasobach opisanych w POM.

2) Wymień, jakie aspekty zarządza Maven?

Maven obsługuje następujące działania programisty

  • Budować
  • Dokumentacja
  • Raportowanie
  • Zależności
  • SCM
  • Wydania
  • Dystrybucja
  • Lista mailingowa

3) Wspomnij o trzech cyklach życia kompilacji Mavena?

  • Wyczyść: czyści artefakty utworzone przez poprzednie kompilacje
  • Domyślna (kompilacja): używana do tworzenia aplikacji
  • Witryna: dla projektu generuje dokumentację witryny

4) Wyjaśnij, co to jest POM?

W Maven podstawową jednostką pracy jest POM (Project Object Model). Jest to plik XML, który zawiera informacje o projekcie i szczegóły konfiguracji użyte do zbudowania projektu przez Maven.

5) Wyjaśnij, czym jest artefakt Mavena?

Zwykle artefakt to plik JAR, który jest ustawiany w repozytorium Maven. Jeden lub więcej artefaktów, które tworzy kompilacja mavena, takich jak skompilowany plik JAR i źródłowy plik JAR.

Każdy artefakt zawiera identyfikator grupy, identyfikator artefaktu i ciąg wersji.

6) Wyjaśnij, czym jest repozytorium Maven? Jakie są ich typy?

Repozytorium Mavena to miejsce, w którym przechowywane są wszystkie pliki JAR projektu, pliki JAR bibliotek, wtyczki lub inne artefakty związane z projektem, które mogą być łatwo używane przez Maven.

Ich typy są lokalne, centralne i odległe

7) Dlaczego używane są wtyczki Maven?

Wtyczki Maven są używane do

  • Utwórz plik jar
  • Utwórz plik wojenny
  • Skompiluj pliki kodu
  • Testowanie jednostkowe kodu
  • Dokumentowanie projektów
  • Raportowanie

8) Wymień zakres zależności w Maven?

Różne zakresy zależności używane w Maven to:

  • Kompiluj: jest to zakres domyślny i wskazuje, jaka zależność jest dostępna w ścieżce klas projektu
  • Podano: wskazuje, że zależność jest zapewniana przez JDK lub serwer WWW lub kontener w czasie wykonywania
  • Środowisko wykonawcze: informuje, że zależność nie jest potrzebna do kompilacji, ale jest wymagana podczas wykonywania
  • Test: mówi, że zależność jest dostępna tylko w fazie kompilacji testów i wykonywania
  • System: wskazuje, że musisz podać ścieżkę systemową
  • Import: Oznacza to, że zidentyfikowany lub określony POM powinien zostać zastąpiony zależnościami w tej sekcji POM

9) Wspomnieć, w jaki sposób profile są określane w Maven?

Profile są określane w Maven przy użyciu podzbioru elementów istniejących w samym POM.

10) Wyjaśnij, jak możesz wykluczyć zależność?

Korzystając z elementu wykluczającego, można wykluczyć zależność

11) Wspomnij o różnicy między Apache Ant i Maven?

Apache Ant Maven

  • Ant to zestaw narzędzi - Maven to framework
  • Ant nie ma formalnych konwencji, takich jak struktura katalogów projektu - Maven ma konwencje
  • Ant działa proceduralnie; musisz powiedzieć, aby kompilować, kopiować i kompresować - Maven jest deklaratywny (informacje o tym, co zrobić i jak zbudować)
  • Mrówka nie ma cyklu życia; musisz ręcznie dodać sekwencję zadań - Maven ma cykl życia
  • Skrypty Ant nie są wielokrotnego użytku - wtyczki Maven są wielokrotnego użytku

12) Jak w Maven nazywają się dwa pliki ustawień i jaka jest ich lokalizacja?

W Maven pliki ustawień nazywane są settings.xml, a dwa pliki ustawień znajdują się pod adresem

  • Katalog instalacyjny Mavena: $ M2_Home / conf / settings.xml
  • Katalog domowy użytkownika: $ {user.home} / .m2 / settings.xml

13) Wymień, jakie są fazy budowy w Maven?

Fazy ​​budowy w Maven to

  • Uprawomocnić
  • Skompilować
  • Test
  • Pakiet
  • zainstalować
  • Rozmieścić

14) Wymień katalog kompilacji, kodu źródłowego i testowego dla POM w Maven?

  • Build = Target
  • Źródło = src / main / java
  • Test = src / main / test

15) Gdzie znajdujesz pliki klas podczas kompilowania projektu Maven?

Znajdziesz pliki klas $ {basedir} / target / classes /.

16) Wyjaśnij, do czego służy cel „słoik: słoik”?

jar: jar nie przekompiluje źródeł; będzie to oznaczać po prostu utworzenie pliku JAR z katalogu target / classes, biorąc pod uwagę, że wszystko inne zostało zrobione

17) Wypisz, jaka jest kolejność dziedziczenia Maven?

Dziedziczenie według maven jest

  • Parent Pom
  • Projekt Pom
  • Ustawienia
  • Parametry CLI

18) Jakie są minimalne wymagane elementy w przypadku POM?

Minimalne wymagane elementy dla POM to katalog główny projektu, modelVersion, groupID, artifactID i version.

19) Wyjaśnij, w jaki sposób można wygenerować dane wyjściowe debugowania wykonania lub komunikaty o błędach?

Aby wygenerować wyjście debugowania wykonania, możesz wywołać Maven z parametrem X lub parametrem e.

20) Wyjaśnij, jak uruchomić klasy testowe w Maven?

Aby uruchomić klasy testowe w Maven, potrzebujesz pewnej wtyczki, sprawdź i skonfiguruj ustawienia w setting.xml i pom.xml dla właściwości o nazwie „test”.