31 most frequently asked maven interview questions answers
このチュートリアルでは、初心者と経験豊富な候補者向けに、Mavenの面接で最もよくある質問と回答を紹介しました。
すべての面接と同様に、候補者はMavenで最もよく聞かれる面接の質問に答える準備をする必要があります。このチュートリアルは、今後の面接の準備に間違いなく役立ちます。
=> EasyMavenトレーニングシリーズをお読みください。
Mavenのインタビューの質問と回答
Q#1) Mavenとはどういう意味ですか?
回答 :Mavenは、ビルドサイクルのフレームワーク全体を提供するプロジェクト管理ツール(Apache Software Foundationによって導入された)です。これはオープンソースであり、主にJavaで開発されたプロジェクトに使用されます。
Mavenは、一般にPOMとして知られているプロジェクトオブジェクトモデルによって駆動されます。これは、すべての依存関係の中央リポジトリです。組織間で同じフォルダー規則を維持し、Jenkinsなどの継続的インテグレーションツールと簡単に統合できます。
その上、それはプロジェクトの報告と文書化の面倒を見ます。 Java言語で開発されています。
Q#2)Mavenの機能または利点は何ですか?
回答 :
Mavenの機能または利点は次のとおりです。
- プロジェクトのjarを手動で追加する必要はありません。プロジェクトの依存関係と推移的な依存関係の更新は、Mavenによって自動的に実行されます。
- Mavenは、組織全体で統一されたディレクトリ構造を維持します。
- デプロイとビルドの両方のアクティビティは、Mavenによって処理されます。
- Mavenは、POMファイルによって駆動されるため、シンプルで把握しやすく、セットアップしてプロジェクトで利用できます。
- Mavenの急速に拡大するリポジトリには、一度に複数のプロジェクトに使用できる多数のライブラリが含まれています。
- Mavenは、拡張可能なコード設計の使用を推奨しています。
Q#3) Mavenによって管理される側面に名前を付けます。
回答 :Mavenによって管理される側面は、ドキュメント、ビルド、SCM、リリース、配布、メーリングリスト、依存関係、およびレポートです。
Q#4)Mavenビルドライフサイクルとはどういう意味ですか?これらのサイクルに名前を付けます。
回答 :Mavenビルドのライフサイクルは特定のフェーズで構成されます。 Mavenの目標を実行する必要がある順序を決定します。特定のフェーズを実行する場合は、その特定のフェーズの前のすべての前のフェーズを順番に正常に実行する必要があります。
Mavenビルドのライフサイクルは次のとおりです。
- 掃除 :前のビルドプロセスから生成されたアーティファクトを削除します。
- デフォルト :展開とビルドのプロセスが処理されます。
- 地点 :プロジェクトの文書化はこのサイクルで実行されます。
Q#5) ビルドツールは何を担当しますか?
回答 :ビルドツールは、主にソースコードの生成を担当します(自動生成されたコードが使用されている場合)。ソースコードからプロジェクトドキュメントを作成します。
コードをJAR / ZIPファイルの形式でコンパイルおよびパッケージ化します。最後に、そのコードをローカル、中央、またはリモートのリポジトリに配置します。
Q#6)POMとはどういう意味ですか?POMには何が含まれていますか?
回答: プロジェクトオブジェクトモデルまたはpomは、Mavenの動作の基本部分を形成します。 Mavenの目標またはタスクを実行している間、現在のディレクトリにあるpomファイルが検索および参照され、プロジェクトに関する情報が収集されます。
基本的にはxmlファイルです。プラグイン、目標、開発者、依存関係、プロファイル、バージョン、メーリングリストなどの構成の詳細が含まれています。
例えば 、SeleniumにExcelの依存関係を追加するには、以下に貼り付けた依存関係を追加する必要があります。
Q#7) Mavenリポジトリとはどういう意味ですか?
回答: Mavenリポジトリは、関連するすべてのプロジェクトアーティファクト、jar、ライブラリ、プラグインが保持され、Mavenで簡単に利用できるディレクトリの場所です。
Q#8) さまざまなタイプのMavenリポジトリーについて説明します。
回答:Mavenリポジトリには3つのタイプがあります。
彼らです:
- ローカルリポジトリ: これは、通常、ローカルマシンに配置されます。 .m2 ディレクトリ。これは、Mavenコマンドを正常に実行できるようになると生成されます。プロジェクトの依存関係はすべてここにあります。 Mavenがpomファイルをスキャンすると、最初にローカルリポジトリでその依存関係を検索します。
- 中央リポジトリ: これはApacheMavenによって提供されます。日常的に使用されるライブラリのほとんどが含まれています。ローカルリポジトリで依存関係が見つからない場合、Mavenは中央リポジトリに接続します。
- リモートリポジトリ: 企業は、プロジェクト成果物、jar、およびライブラリで構成される独自のカスタムリポジトリを開発する場合があります。これは、その組織内で使用するためにプライベートのままであるタイプのリポジトリです。
Q#9)Mavenアーティファクトについて説明してください。
回答: Mavenアーティファクトは、Mavenリポジトリーに拡張されるファイル(通常はjar)として知られています。 Mavenビルドは、ソースjarとコンパイル済みjarで構成される複数のアーティファクトを生成します。 GroupId、artifactId、およびバージョン 一緒にアーティファクトを形成し、3つすべてを組み合わせてそれを識別するだけです。
以下のコードスニペットは、Mavenアーティファクトの例を示しています。
org.selenium seleniumJava 4.0.2
Q#10)Maven依存関係のさまざまなスコープをリストアップしてください。
回答:
Maven依存関係のさまざまなスコープは次のとおりです。
- コンパイル :このスコープは、プロジェクトのビルド、テスト、および実行に必要であり、デフォルトで使用できます。
- 提供: このスコープは、プロジェクトをビルドおよびテストするために必要であり、実行時に使用できます。
- ランタイム: このスコープはコンパイルには必要ありませんが、実行には必要です。
- テスト: このスコープは、単体テストケースのコンパイルと実行に必要です。
- システム: このスコープはリモートリポジトリから取得できないため、ローカルプロジェクトパスに配置する必要があります。
- インポート: このスコープは、依存関係がpomタイプの場合に使用されます。
Q#11)MavenとAntの違いは何ですか?
回答:MavenとAntの違いは次のとおりです。
Maven | 蟻 |
---|---|
Mavenは説明的であり、プロジェクト情報のほとんどはpomファイルで定義されています。 | Antは、実行するすべての指示が順番に与えられる手順または方法の形式です。 |
Mavenはライフサイクルに従います。 | Antはライフサイクルに従いません。 |
Mavenはフレームワークと見なされます。 | Antはツールボックスと見なされます。 |
Mavenは、プロジェクト管理およびビルドツールです。 | Antは、ビルドプロセスにのみ使用されるツールです。 |
Mavenプラグインは再利用できます。 | Antスクリプトは再利用できません。 |
Mavenはプロトコルに従います。たとえば、Mavenプロジェクトは、組織全体で統一されたディレクトリ構造に従います。 | Antは特定のプロトコルに従いません。 |
Q#12)Maven Archetypeとはどういう意味ですか?
回答: Mavenアーキタイプは基本的に、特定のスケルトンまたはテンプレートに従ってプロジェクト構造を生成するジョブが割り当てられたプラグインです。
次のコマンドを使用して、プロジェクトテンプレートを作成します。
mvnアーキタイプ:生成
Q#13)システム内のMavenのバージョンを確認するにはどうすればよいですか?
回答: システムで使用しているMavenのバージョンを確認するには、コンソールで以下のコマンドを入力する必要があります。
mvn –version
Q#14)MavenではSNAPSHOTとは何ですか?
回答: Mavenスナップショットは、まだリリースされていないバージョンです。最初のリリースが完了する前に、1.0-SNAPSHOTバージョンがあります。将来的には、このバージョンは1.0バージョンになる予定です。現在の開発コピーと呼ばれています。 Mavenは、リモートリポジトリで新しいSNAPSHOTバージョンを探します。
Q#15)Mavenでプロファイルに言及するにはどうすればよいですか?
回答: プロファイルは、pomファイルに存在する要素のサブセットの助けを借りてMavenで言及されます。
Q#16) Mavenプラグインとは何ですか?
回答: Mavenプラグインは、Mavenフレームワークの基本コンポーネントです。各プラグインには、実行する特定のタスクがあります。
Mavenは通常、次の機能を実行します。
- jarファイルを生成します。
- WARファイルを生成します。
- コードをコンパイルします。
- コードの単体テストを実行します。
- プロジェクトのドキュメントを生成します。
- カスタマイズされたレポートを生成します。
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クリーンライフサイクルのフェーズに名前を付けます。
回答:
Mavenクリーンライフサイクルのフェーズは以下のとおりです。
- プレクリーニング
- 掃除
- ポストクリーニング
Q#22)Mavenでコマンドmvn cleanを使用する目的は何ですか?
回答: mvn cleanは、以前のMavenビルドによって作成されたプロジェクトアーティファクトをターゲットディレクトリからクリーンアップすることを目的としています。これは通常、新しいビルドプロセスを開始する前に実行されます。
Q#23)Mavenでプロファイルをビルドするとはどういう意味ですか?
回答: ビルドプロファイルは、Mavenでのビルドプロセスに必要な値を配置したり、デフォルト値を無効にしたりするのに役立つ構成のコレクションです。
開発、テスト、本番などのさまざまな環境向けのビルドプロセスを設計できます。プロファイルは、pomファイルに記述されており、通常、さまざまな環境を指すために使用されます。
Q#24)Mavenビルドプロファイルのタイプをリストアップします。
回答:
Mavenビルドプロファイルのタイプを以下に示します。
- ユーザーごと: これは、Mavenのsettings.xmlファイルで説明されています。
- プロジェクトごと: これは、プロジェクトのpom.xmlで説明されています。
- グローバル :これは、グローバルMavensettings.xmlファイルで説明されています。
Q#25)Mavenの外部依存関係とはどういう意味ですか?
回答: Mavenがpomファイルを読み取ると、プロジェクトの依存関係のリストを知ることができます。ローカル、セントラル、リモートリポジトリでこれらの依存関係を検索します。どのリポジトリにも依存関係が見つからない場合、Mavenは外部依存関係を利用します。
経験豊富なOracleplsqlインタビューの質問
Q#26)Mavenで外部依存関係を定義するために必要なパラメーターは何ですか?
回答: Mavenの外部依存関係は、他の依存関係と同じようにpomxmlファイルに記述されています。外部依存関係を定義するために必要なパラメーターは次のとおりです。 groupid、artifactId、スコープはプロジェクトの場所に従ってシステムとシステムパスに設定されます (相対パス)。
Q#27)Mavenの用語でMojoはどういう意味ですか?
回答: モジョは MavenプレーンOldJava Object 。 mojoは基本的に、Mavenの機能を増やすための実行可能な目標です。プラグインは、接続された1つまたは複数のMOJOのディストリビューションです。
Q#28)Mavenの除外要素の仕事は何ですか?
回答: 依存関係を排除するために、Mavenでは除外要素が使用されます。
Q#29)Mavenのリモートリポジトリではなく、ローカルリポジトリに外部依存関係を保持することが推奨されるのはなぜですか?
回答: ローカルリポジトリはスペースの消費が少なく、簡単にアクセスでき、jarのバージョン管理を行う必要がないため、Mavenではリモートではなくローカルリポジトリに外部依存関係を保持することをお勧めします。
Q#30)Mavenで強制更新を実行するにはどうすればよいですか?
回答: Mavenでの強制更新は、次のコマンドで実行できます。
mvn clean install –U
-U Mavenの更新を強制するために使用されます。ただし、リリースベースの依存関係はこの方法では実行できません。
Q#31)Mavenで「同じ(または欠落している)要素で2つのプラグインを実行することはできません」というエラーについて説明してください。
回答: このエラーメッセージは、同じIDで1つのプラグインを複数回実行した場合に発生します。実行ごとに一意のIDを指定する必要があります。
結論
Mavenの面接の質問に対するあなたの疑問のほとんどは、これまでに解決されていると確信しています。私たちは、インタビューでよく聞かれる幅広い質問を調査しました。よく練習して学ぶと、簡単に把握できるようになります。
この独占的なMavenシリーズのすべてのチュートリアルを楽しんでいただけたでしょうか。頑張って頑張ってください!
=> Mavenを最初から学ぶには、ここにアクセスしてください。