maven dependency integration with eclipse
このチュートリアルでは、MavenとEclipseおよびTestNGの統合、Maven依存関係スコープ、およびMavenデプロイメント自動化について詳しく説明します。
前のチュートリアルでは、GradleとMavenおよびMavenプラグインの比較について説明しました。このチュートリアルでは、Mavenを他のツール、Maven依存関係、およびMavenデプロイメントと統合する方法について説明します。
アンドロイドのための最高のスパイアプリ
始めましょう!
=> 独占的なMavenトレーニングチュートリアルシリーズについては、こちらをご覧ください。
学習内容:
MavenとEclipseの統合
MavenをEclipseと統合する方法については、これについてすでに詳しく説明しています。 ページ
コマンドプロンプトからMavenプロジェクトをビルドし、そのプロジェクトをEclipseに取り込む必要がある特定のシナリオでは、次の手順を実行する必要があります。
#1) Mavenプロジェクトのpomファイルの場所に移動します。以下のコマンドを実行します。
mvn eclipse:eclipse
#2).classpath そして 。事業 Mavenプロジェクトの場所に作成されます。
MavenプラグインがEclipseですでに提供されているかどうかを確認します。 Windows =>設定 、Mavenがそこに存在する必要があります。現在のすべてのEclipseバージョンにはデフォルトでMavenプラグインがあり、それがない場合は、 ここに 。
#3) MavenとEclipseを連携させて機能させるには、ファイルからMavenプロジェクトをインポートします。次に、 既存のMavenプロジェクト。
#4) プロジェクトの場所を参照する 続行します。

上の画像は、EclipseにインポートされたMavenプロジェクトを示しています。
MavenとTestNGの統合
MavenをTestNGと統合する方法については、以下のページで詳しく説明しています。
=> MavenSurefireプラグインを使用したMavenとTestNgの統合
プロジェクトでMavenをTestNGと統合しましたが、プロジェクトに複数のTestngxmlファイルがある場合があります。 例えば、 リグレッションスイートの機能全体が1つのtestng.xmlに記述され、健全性テストケースが他のtestng.xmlファイルに記述されています。
このような状況では、を使用する必要があります プロフィール Mavenのコンセプト。 pomファイルで、プロファイルを定義する必要があります。それぞれがタグの一部であり、タグに関連付けられています。
プロファイルコードスニペットを含むpom.xmlファイルを以下に示します。
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
上記の2つのプロファイルがあり、以下で説明されており、各プロファイルにはIDが関連付けられていることに注意してください。 例えば、 回帰 そして 正気 また、suiteXmlFilesの下で、idに対応するTestng xmlファイルの名前を定義しました( testngRegression.xml そして testngSanity.xml )。
mssqlインタビューの質問と回答
したがって、ここには2つのプロファイルがあり、1つのpomファイルを使用して各Testngファイルを制御できます。
ここで、コマンドプロンプトから直接各Testngファイルのテストケースをトリガーするには、プロジェクトフォルダーに移動して、次のコマンドを実行する必要があります。
mvn test –PRegression
これが実行されると、MavenはIDが回帰と対応するプロファイルでプロファイルを検索します testngRegression.xml ファイル。したがって、そこに含まれるテストのみが実行されます。
同様に、IDがSanityのプロファイルの場合、コマンドは次のとおりです。
mvn test –PSanity
ここに testngSanity.xml ファイルは、実行するテストケースを決定するために使用されます。したがって、特定のテストケースのセットをトリガーするために、pom内のTestNGファイル名を変更する必要はありません。むしろ、個別のTestNGファイルを維持することで簡単に実現できます。
pomファイルでは、これらのファイルをマップし、コマンドプロンプトからMavenのプロファイルを使用して最終的に実行できます。
Mavenの依存関係の範囲
Mavenには、以下に示すように合計6つのスコープがあります。
- 提供
- テスト
- システム
- インポート
- コンパイル
- ランタイム
#1)ランタイムスコープ
Mavenの依存関係にはランタイムとしてのスコープがあり、ビルドの目的には使用されません。これは、プロジェクトの実行とテストのためのクラスパスで構成されています。以下のコードスニペットは、ランタイムスコープの依存関係を示しています。
com.softwaretesting MavenJava 2.3 runtime
#2)システムスコープ
システムとしてのスコープを持つMavenの依存関係は、提供されたスコープに似ています。システムの依存関係はリモートリポジトリからダウンロードできず、通常はプロジェクトのディレクトリにあります。以下のコードスニペットは、システムスコープの依存関係を示しています。
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
#3)提供される範囲
プロジェクトのビルドとテストには、提供されたスコープを持つMaven依存関係が必要です。この依存関係は実行時に利用可能であるため、エクスポートすることはお勧めしません。ただし、この依存関係はビルドの実行に必要です。以下のコードスニペットは、提供されたスコープの依存関係を示しています。
com.test MavenJava2 5.1.1 provided
#4)テスト範囲
テストの範囲を持つMaven依存関係は、プロジェクトのビルドと実行には必要ありません。これらは基本的に、単体テストケースのコンパイルと実行に使用されます。以下のコードスニペットは、テストスコープの依存関係を示しています。
com.testing MavenJava3 1.0.2 test
#5)インポートスコープ
pomファイル内では、 依存関係管理 セクションには、スコープのインポートが含まれます。これは、pomファイルのdependencyManagementセクションで提供される依存関係の有効なグループで変更される依存関係を意味します。以下のコードスニペットは、インポートスコープの依存関係を示しています。
com.testhelp MavenJava4 SNAP import pom
#6)スコープをコンパイルする
コンパイルのスコープを持つMaven依存関係がデフォルトです。この依存関係は、プロジェクトの構築、テスト、および実行に不可欠です。これは、インポートステートメントを持つJavaソースコードを解決するために最も重要です。以下のコードスニペットは、コンパイルスコープの依存関係を示しています。
logging log 2.1.3 compile
Mavenデプロイメントの自動化
プロジェクトの展開は重要なフェーズであり、以下に示すように定義された複数のステップが含まれます。
- リポジトリでチェックするために開発されたコード。
- リポジトリからダウンロードするソースコード。
- アプリケーションのコンパイルとビルド、およびJARファイルまたはWARファイルの生成。
- 識別されたJARまたはWARファイルを使い慣れたネットワークの場所に配置します。
- JARまたはWARファイルをロードします。
- ダウンロードしたJARまたはWARファイルをターゲットサーバーにデプロイします。
- アプリケーションの新しいバージョン番号とドキュメントで更新される日付。
上記の手順の後に、プロジェクトに関与するチームの各メンバーが続きます。上記の手順のうち、誰かが見落とされたり、何かが適切に行われなかったりすると、次のようになります。 ビルドとデプロイの失敗 。そのため、その間にエラーが発生した場合は、自動的に修正する必要があります。
Mavenは、デプロイメントを自動化して堅牢にするために、デプロイメント自動化手法に従います。これは、以下にリストされているプロセスの組み合わせによって実現されます。
- Mavenが担当するプロジェクトの構築とリリース。
- Subversionおよびソースコードリポジトリによって管理されるソースコード。
- リモートリポジトリマネージャを処理するためのプロジェクトバイナリ。
Mavenの自動ビルドおよびリリースプロセスは、Mavenリリースプラグインによって処理されます。pom.xmlファイルは、以下に示すように更新する必要があります。
以下のコードは、com.softwaretestHelpプロジェクトpom.xml用です。
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
上記のpom.xmlファイルの主な機能を以下に示します。
- SCM :SVNの場所(ソースコードが存在する場所)はSCMによって構成されます。
- リポジトリ :これは、プロジェクトのビルドが正常に完了した後の、JAR、WAR、EARファイル、またはその他のプロジェクト成果物の場所です。
- プラグイン :Mavenリリースプラグインによって実行されるデプロイメントの自動化。
Mavenリリースプラグイン
Mavenリリースプラグインは次のアクティビティを実行します。
- mvn release:clean –将来のビルドが到着する前に、前のビルドのワークスペースをクリーンアップします。
- mvnリリース:ロールバック –前のビルドが失敗した場合は、ワークスペースにロールバックします。
- mvn release:prepare –ファイルにコミットされていない変更があるかどうかを確認します。また、スナップショットの依存関係を確認し、アプリケーションのバージョン番号を更新します。 pomをSCMに変更します。テストケースの実行を処理し、最終的なコードをSCMにコミットします。サブバージョンのコードのタグ付けを実行します。最後に、バージョン番号がインクリメントされ、このプラグインによって将来の他のリリースのSNAPSHOTに添付されます。
- mvnリリース:実行 –リポジトリに存在するコードをチェックしてから、Mavenビルドゴールを実行してビルドアーティファクトをリポジトリにデプロイします。
最後に、プロジェクトをビルドするために以下のコマンドを実行する必要があります。
mvn release: prepare
ビルドが正常に完了したら、次のコマンドを実行します。
mvn release: perform
これで、WARファイルがリポジトリにアップロードされました。
結論
MavenとEclipseの統合、TestNGとの統合、Mavenプロファイル、Mavenの依存関係の範囲、およびMavenのデプロイメントの自動化の大部分が理解できるようになることを願っています。また、ここでは依存関係のスコープのほとんどについて説明しました。
Mavenのデプロイプロセスでは、すべてのステップを詳細に調査し、Mavenリリースプラグインのいくつかについて説明しました。トピックを読み進めると、徐々に、私たちの作業でMavenを使用することの本質を理解できるようになります。
Windows10に最適なレッグクリーナー
シリーズを継続し、今後のチュートリアルでMaven Jenkins統合、Mavenインタビューの質問などに関する知識を収集します。
=> ここですべてのMavenチュートリアルを確認してください。