31 most frequently asked maven interview questions answers
이 튜토리얼에서는 초보자와 경험 많은 후보자를위한 가장 자주 묻는 Maven 인터뷰 질문 및 답변을 제시했습니다.
모든 인터뷰와 마찬가지로 응시자는 Maven에서 가장 자주 묻는 인터뷰 질문에 답할 준비를해야합니다. 이 튜토리얼은 다음 인터뷰를 준비하는 데 확실히 도움이 될 것입니다.
답변이있는 Maven 인터뷰 질문
질문 # 1) Maven은 무엇을 의미합니까?
대답 : Maven은 빌드주기에 대한 전체 프레임 워크를 제공하는 프로젝트 관리 도구 (Apache Software Foundation에서 도입)입니다. 오픈 소스이며 주로 Java로 개발 된 프로젝트에 사용됩니다.
Maven은 POM으로 널리 알려진 프로젝트 개체 모델에 의해 구동됩니다. 모든 종속성에 대한 중앙 저장소입니다. 조직 전체에서 동일한 폴더 규칙을 유지하며 Jenkins와 같은 지속적 통합 도구와 쉽게 통합 할 수 있습니다.
또한 프로젝트의보고 및 문서화를 처리합니다. Java 언어로 개발되었습니다.
Q # 2) Maven의 기능이나 장점은 무엇입니까?
대답 :
Maven의 기능 또는 장점은 다음과 같습니다.
- 프로젝트에 jar를 수동으로 추가 할 필요가 없습니다. 프로젝트 종속성 및 전이 종속성에 대한 업데이트는 Maven에 의해 자동으로 수행됩니다.
- Maven은 조직 전체에서 일관된 디렉토리 구조를 유지합니다.
- 배포 및 빌드 활동은 모두 Maven에서 처리합니다.
- Maven은 POM 파일에 의해 구동되므로 간단하고 이해하기 쉬우 며 프로젝트에서 설정하고 활용하기 쉽습니다.
- 빠르게 확장되는 Maven 저장소에는 한 번에 여러 프로젝트에 사용할 수있는 많은 라이브러리가 포함되어 있습니다.
- Maven은 확장 가능한 코드 디자인의 사용을 권장합니다.
질문 # 3) Maven에서 관리하는 측면의 이름을 지정합니다.
대답 : Maven에서 관리하는 측면은 문서, 빌드, SCM, 릴리스, 배포, 메일 링 목록, 종속성 및보고입니다.
Q # 4) Maven 빌드 라이프 사이클은 무엇을 의미합니까? 이주기의 이름을 지정하십시오.
대답 : Maven 빌드 라이프 사이클은 특정 단계로 구성됩니다. Maven 목표를 수행해야하는 순서를 결정합니다. 특정 단계를 수행하려면 해당 특정 단계 이전의 모든 이전 단계를 순서대로 성공적으로 실행해야합니다.
Maven 빌드 수명주기는 다음과 같이 나열됩니다.
- 깨끗한 : 이전 빌드 프로세스에서 생성 된 아티팩트를 제거합니다.
- 기본 : 배포 및 빌드 프로세스가 처리됩니다.
- 대지 : 프로젝트 문서화는이주기에서 수행됩니다.
질문 # 5) 빌드 도구는 무엇을 담당합니까?
대답 : 빌드 도구는 주로 소스 코드 생성을 담당합니다 (자동 생성 된 코드를 사용하는 경우). 소스 코드에서 프로젝트 문서를 생성합니다.
코드를 JAR / ZIP 파일 형태로 컴파일하고 패키징합니다. 마지막으로 해당 코드를 로컬, 중앙 또는 원격 저장소에 배치합니다.
Q # 6) POM은 무엇을 의미하며 어떤 내용을 포함하고 있습니까?
대답: Project Object Model 또는 pom은 Maven 작업의 기본 부분을 형성합니다. Maven 목표 또는 작업을 수행하는 동안 현재 디렉터리에있는 pom 파일을 검색하고 참조하여 프로젝트에 대한 정보를 수집합니다.
기본적으로 xml 파일입니다. 플러그인, 목표, 개발자, 종속성, 프로필, 버전 및 메일 링리스트와 같은 구성 세부 정보가 포함됩니다.
예를 들면 ,Selenium에서 Excel 종속성을 추가하려면 아래에 붙여 넣은 종속성을 추가해야합니다.
문 # 7) Maven 저장소 란 무엇을 의미합니까?
대답: Maven 저장소는 모든 관련 프로젝트 아티팩트, jar, 라이브러리, 플러그인이 보관되고 Maven에서 쉽게 활용할 수있는 디렉토리의 위치입니다.
질문 # 8) 다양한 유형의 Maven 저장소를 설명합니다.
답변 : Maven 리포지토리에는 세 가지 유형이 있습니다.
그들은:
- 로컬 저장소 : 이것은 일반적으로 로컬 컴퓨터에 배치됩니다. .m2 예배 규칙서. Maven 명령을 성공적으로 실행할 수있게되면 생성됩니다. 모든 프로젝트 종속성이 여기에 있습니다. Maven이 pom 파일을 스캔하면 먼저 로컬 저장소에서 종속성을 검색합니다.
- 중앙 저장소 : 이것은 Apache Maven에서 제공합니다. 일상적으로 사용되는 대부분의 라이브러리가 포함되어 있습니다. 로컬 저장소에서 종속성이 발견되지 않으면 Maven은 중앙 저장소에 연결합니다.
- 원격 저장소 : 때때로 회사는 프로젝트 아티팩트, jar 및 라이브러리로 구성된 자체 사용자 정의 저장소를 개발합니다. 이는 해당 조직 내에서 사용하기 위해 비공개로 유지되는 저장소 유형입니다.
Q # 9) Maven Artifact를 설명하세요.
대답: Maven 아티팩트는 Maven 저장소로 확장되는 파일 (일반적으로 jar)로 알려져 있습니다. Maven 빌드는 소스 jar와 컴파일 된 jar로 구성된 여러 아티팩트를 생성합니다. GroupId, artifactId 및 버전 함께 아티팩트를 형성하고 결합 된 세 가지 모두 오로지 식별합니다.
아래 코드 스 니펫은 Maven 아티팩트의 예를 보여줍니다.
org.selenium seleniumJava 4.0.2
Q # 10) Maven Dependency의 다양한 범위를 나열하십시오.
대답:
Maven 종속성의 다양한 범위는 다음과 같습니다.
- 엮다 :이 범위는 프로젝트를 빌드, 테스트 및 실행하는 데 필요하며 기본적으로 사용 가능합니다.
- 제공 : 이 범위는 프로젝트를 빌드하고 테스트하는 데 필요하며 런타임에 사용할 수 있습니다.
- 실행 시간: 이 범위는 컴파일에는 필요하지 않지만 실행에는 필요합니다.
- 테스트: 이 범위는 단위 테스트 케이스의 컴파일 및 실행에 필요합니다.
- 체계: 이 범위는 원격 저장소에서 가져올 수 없으며 로컬 프로젝트 경로에 배치해야합니다.
- 수입: 이 범위는 종속성이 pom 유형일 때 사용됩니다.
Q # 11) Maven과 Ant의 차이점은 무엇입니까?
답변 : Maven과 Ant의 차이점은 다음과 같습니다.
메이븐 | 개미 |
---|---|
Maven은 설명 적이며 대부분의 프로젝트 정보는 pom 파일에 정의되어 있습니다. | Ant는 수행 할 모든 명령이 순서대로 제공되는 절차 또는 방법의 형태입니다. |
Maven은 라이프 사이클을 따릅니다. | Ant는 수명주기를 따르지 않습니다. |
Maven은 프레임 워크로 간주됩니다. | Ant는 도구 상자로 간주됩니다. |
Maven은 프로젝트 관리 및 빌드 도구입니다. | Ant는 빌드 프로세스에만 사용되는 도구입니다. |
Maven 플러그인을 재사용 할 수 있습니다. | Ant 스크립트는 재사용 할 수 없습니다. |
예를 들어 Maven은 프로토콜을 따르고, Maven 프로젝트는 조직 전체에서 균일 한 디렉토리 구조를 따릅니다. | Ant는 특정 프로토콜을 따르지 않습니다. |
Q # 12) Maven Archetype은 무엇을 의미합니까?
대답: Maven archetype은 기본적으로 특정 스켈레톤 또는 템플릿에 따라 프로젝트 구조를 생성하는 작업에 할당 된 플러그인입니다.
다음 명령은 프로젝트 템플릿을 만드는 데 사용됩니다.
mvn 아키 타입 : 생성
Q # 13) 시스템에서 Maven 버전을 확인하는 방법은 무엇입니까?
대답: 시스템에서 사용중인 Maven의 버전을 확인하려면 콘솔에 아래 명령을 입력해야합니다.
mvn –version
Q # 14) Maven에서 SNAPSHOT으로 알려진 것은 무엇입니까?
대답: Maven 스냅 샷은 아직 출시되지 않은 버전입니다. 첫 번째 릴리스가 완료되기 전에 1.0-SNAPSHOT 버전이 있습니다. 앞으로이 버전은 1.0 버전으로 나타날 것입니다. 현재 개발 사본이라고합니다. Maven은 원격 저장소에서 새 SNAPSHOT 버전을 찾습니다.
Q # 15) Maven에서 프로필을 언급하는 방법은 무엇입니까?
대답: 프로필은 pom 파일에있는 요소의 하위 집합을 사용하여 Maven에서 언급됩니다.
문 # 16) Maven 플러그인이란 무엇입니까?
대답: Maven 플러그인은 Maven 프레임 워크의 기본 구성 요소입니다. 각 플러그인에는 수행 할 특정 작업이 있습니다.
Maven은 일반적으로 다음 기능을 수행합니다.
- jar 파일을 생성합니다.
- 전쟁 파일을 생성합니다.
- 코드를 컴파일합니다.
- 코드의 단위 테스트를 실행합니다.
- 프로젝트 문서를 생성합니다.
- 맞춤형 보고서를 생성합니다.
Maven 플러그인은 다음 명령 구문으로 실행할 수있는 목표 그룹을 제공합니다.
mvn (플러그인 이름) : (목표 이름)
Q # 17) Maven 플러그인에는 어떤 유형이 있나요?
대답:
다양한 유형의 Maven 플러그인이 아래에 나열되어 있습니다.
- 플러그인 빌드 : 이러한 플러그인은 빌드시 사용되며 pom 파일의 빌드 요소에 정의됩니다.
- 보고 플러그인 : 이러한 플러그인은 사이트 생성시 사용되며 pom 파일의보고 요소에 정의됩니다.
Q # 18) Maven의 목표는 무엇을 의미합니까?
대답: Maven 목표 모음은 단계를 구성합니다. 각 목표는 프로젝트 관리 및 빌드 실행과 관련된 특정 작업에 대해 정의됩니다.
Q # 19) Maven 빌드 라이프 사이클에서 빌드 단계의 이름을 지정합니다.
대답: Maven 빌드 수명주기의 빌드 단계는 다음과 같습니다.
- 확인: 빌드를 트리거하기위한 모든 전제 조건 정보를 얻었는지 확인합니다.
- 엮다: 프로젝트 소스 코드가 컴파일됩니다.
- 테스트: 컴파일 된 소스 코드는 단위 테스트 프레임 워크로 테스트됩니다. 이 단계에서는 코드가 배포되거나 패키징되지 않습니다.
- 꾸러미: 컴파일 후 소스 코드는 ZIP 또는 JAR 파일 형식으로 패키징됩니다.
- 통합 테스트 : 패키지가 환경에 배포 된 후 통합 테스트 케이스가 실행됩니다.
- 확인: 패키지가 올 바르고 필요한 모든 품질 사양을 충족하는지 검사합니다.
- 설치: 로컬 저장소에 패키지 설치.
- 배포 : 최종 패키지의 견본은 프로젝트 전반에 걸쳐 다른 개발자들간에 배포 할 수 있도록 원격 저장소에 액세스 할 수 있습니다.
Q # 20) Maven 종속성이 다운로드되는 위치는 어디입니까?
대답: Maven에서 다운로드 한 프로젝트 아티팩트, 종속성 및 jar는 Maven의 로컬 저장소에 배치됩니다. 폴더 .m2 기본적으로 로컬 저장소의 위치입니다. 이 기본 위치는 settings.xml 파일에서 변경할 수 있습니다.
Q # 21) Maven Clean Lifecycle의 단계 이름을 지정합니다.
대답:
Maven Clean Lifecycle의 단계는 다음과 같습니다.
- 사전 청소
- 깨끗한
- 청소 후
Q # 22) Maven에서 mvn clean 명령의 목적은 무엇입니까?
대답: mvn clean은 이전 Maven 빌드에서 생성 된 프로젝트 아티팩트를 대상 디렉터리에서 정리하는 것을 목표로합니다. 일반적으로 새 빌드 프로세스를 시작하기 전에 실행됩니다.
Q # 23) Maven에서 빌드 프로파일이란 무엇을 의미합니까?
대답: 빌드 프로필은 값을 배치하거나 Maven의 빌드 프로세스에 필요한 기본값을 무시하는 데 도움이되는 구성 모음입니다.
개발, 테스트, 생산과 같은 다양한 환경에 대한 빌드 프로세스를 설계 할 수 있습니다. 프로필은의 도움으로 pom 파일에 설명되어 있으며 일반적으로 다른 환경을 가리키는 데 사용됩니다.
Q # 24) Maven 빌드 프로필 유형을 나열합니다.
대답:
Maven 빌드 프로필 유형은 다음과 같습니다.
- 사용자 별 : 이는 Maven settings.xml 파일에 설명되어 있습니다.
- 프로젝트 당 : 이것은 프로젝트의 pom.xml에 설명되어 있습니다.
- 글로벌 : 전역 Maven settings.xml 파일에 설명되어 있습니다.
Q # 25) Maven의 외부 종속성이란 무엇을 의미합니까?
대답: Maven이 pom 파일을 읽으면 프로젝트의 종속성 목록을 알게됩니다. 로컬, 중앙 및 원격 저장소에서 이러한 종속성을 검색합니다. 저장소에서 찾을 수없는 종속성이있는 경우 Maven은 외부 종속성을 활용합니다.
string 형 배열에 추가하는 방법
Q # 26) Maven에서 외부 종속성을 정의하는 데 필요한 매개 변수는 무엇입니까?
대답: Maven 외부 종속성은 다른 종속성과 마찬가지로 pom xml 파일에 설명되어 있습니다. 외부 종속성을 정의하는 데 필요한 매개 변수는 다음과 같습니다. groupid, artifactId, 프로젝트 위치에 따라 시스템 및 시스템 경로로 설정된 범위 (상대 경로).
Q # 27) Maven 용어에서 Mojo는 무엇을 의미합니까?
대답: Mojo는 Maven 일반 Old Java 객체 . mojo는 기본적으로 Maven의 기능을 높이기위한 실행 가능한 목표입니다. 플러그인은 하나 또는 여러 개의 연결된 MOJO의 배포입니다.
Q # 28) Maven에서 제외 요소의 역할은 무엇입니까?
대답: 종속성을 제거하기 위해 Maven에서 제외 요소가 사용됩니다.
Q # 29) Maven의 원격 저장소가 아닌 로컬 저장소에 외부 종속성을 유지하는 것이 권장되는 이유는 무엇입니까?
대답: 로컬 저장소는 더 적은 공간을 사용하고 쉽게 액세스 할 수 있으며 jar의 버전 관리를 처리 할 필요가 없기 때문에 Maven에서 원격이 아닌 로컬 저장소에 외부 종속성을 유지하는 것이 좋습니다.
Q # 30) Maven에서 강제 업데이트를 수행하는 방법은 무엇입니까?
대답: Maven에서 강제 업데이트는 다음 명령을 사용하여 수행 할 수 있습니다.
mvn 새로 설치 –U
-유 Maven 업데이트를 강제하는 데 사용됩니다. 그러나 릴리스 기반 종속성은 이러한 방식으로 수행 할 수 없습니다.
Q # 31) Maven에서 '동일한 (또는 누락 된) 요소로 두 개의 플러그인을 실행할 수 없습니다'라는 오류를 설명하십시오.
대답: 이 오류 메시지는 동일한 ID로 단일 플러그인을 두 번 이상 실행 한 경우에 발생합니다. 각 실행에 대해 고유 한 ID를 제공해야합니다.
결론
Maven 인터뷰 질문에 대한 대부분의 의심은 지금까지 해결되었을 것이라고 확신합니다. 우리는 인터뷰에서 일반적으로 묻는 광범위한 질문을 탐색했습니다. 연습하고 잘 배우면 쉽게 이해할 수 있습니다.
이 독점적 인 Maven 시리즈에서 모든 튜토리얼을 즐기 셨기를 바랍니다. 열심히 일하고 모든 성공을 기원합니다 !!
=> 처음부터 Maven을 배우려면 여기를 방문하십시오.