Javaインターフェース自動化のためのMavenツールの使用

VOL 190

30

2020-12

今日は2021年の1日前です

これはITesterSoftware TestingStackの190番目のツイートです

トップ青い単語「をクリックして開花をテストITesterソフトウェア毎週午前中に」私は心配しています、1、3、5  3:08 0毎月厳守プッシュ時から専門書を提示しました

舞台裏のWeChat公式アカウントは、「リソース」と「テストキット」に応答してテストリソースを受け取り、「WeChat交換グループ」と「紹介グループ」に応答してモンスターと戦うグループに参加します。

この記事は3862語で、読むのに約11分です

Javaインターフェイス自動化テストシリーズの前回の記事:IDEAの概要、永続的なアクティブ化、およびJavaインターフェイス自動化の一般的なショートカットキーでは、主にIDEAの利点、アイデアツールをアクティブ化する方法、および日常の開発で一般的に使用するショートカットキーを紹介します。 。

以下では、主にMavenの特性、インストールと構成、およびMavenウェアハウスを紹介します。

1

Mavenの紹介

1

Mavenとは何ですか?

Mavenプロジェクト管理ツールであり、構成に反映されたプロジェクトオブジェクトモデル(プロジェクトオブジェクトモデル)が含まれ、pom.xmlファイルです。これは、一連の標準、プロジェクトライフサイクル、依存関係管理システムであり、プロジェクトライフサイクルステージで定義されたプラグインと目標も含まれています。

Mavenを使用する場合、カスタムプロジェクトオブジェクトモデルpom.xmlを使用して、独自のプロジェクトを詳細に記述します。Mavenの2つのコア:

  • 依存関係の管理:jarの統合管理(MavenはMavenの中央リポジトリhttps://mvnrepository.com/を提供します。プロジェクトに依存関係を追加すると、Mavenは自動的に中央リポジトリに移動して、関連する依存関係をダウンロードし、依存関係の問題を解決します。 )

  • プロジェクトの構築:コン​​パイル、テスト、パッケージ化、デプロイ、プライベートサーバーへのアップロードなど。

2

なぜMavenを使用するのですか?

Javaエコロジーは非常に豊富であるため、どの機能を実現したいかに関係なく、対応するツールクラスを見つけることができます。これらのツールクラスは、Spring、SpringMVC、MyBatis、データベースドライバーなどのjarパッケージの形式です。 jarパッケージの形式では、jarパッケージ間に関連付けがあります。依存関係を使用する前に、この依存関係が依存する他の依存関係を決定する必要があります。したがって、プロジェクトが比較的大きい場合、依存関係の管理は非常に面倒で肥大化します。これは、Mavenによって解決された最初の問題です。

Mavenはマルチモジュールプロジェクトも処理できます。単純なプロジェクトは、単一モジュールの下請けで処理できます。プロジェクトがより複雑な場合は、マルチモジュールプロジェクトにする必要があります。たとえば、eコマースプロジェクトには、注文モジュール、メンバーシップモジュール、商品モジュール、支払いモジュールなど。一般的に、マルチモジュールプロジェクトでは、各モジュールを個別に実行することはできず、プロジェクトを実行する前に複数のモジュールを組み合わせる必要があります。このとき、Mavenツールを使用すると、プロジェクトをワンクリックでパッケージ化できます。

3

Mavenの特徴は何ですか?

Mavenの特徴は次のとおりです。

  • プロジェクトの設定は、統一されたルールに従います。

  • 任意のプロジェクトで共有します。

  • 依存関係の管理には自動更新が含まれます。

  • 大規模で成長しているライブラリ。

  • 拡張可能で、Javaまたはスクリプト言語でプラグインを簡単に作成できます。

  • 新しい機能には、追加の構成をほとんどまたはまったく必要とせずに即座にアクセスできます。

  • モデルベースの構築 :Mavenは、ほとんどの場合、スクリプトを実行することなく、JAR、WAR、プロジェクトメタデータに基づく配布など、事前定義された出力タイプに任意の数のプロジェクトを構築できます。

  • プロジェクト情報の一貫性のあるサイト:ビルドプロセスと同じメタデータを使用して、Mavenは追加するドキュメントを含むWebサイトまたはPDFを生成し、プロジェクトの開発ステータスに関する標準レポートに追加できます。

  • リリース管理とリリース個別出力 :Mavenは追加の構成を必要とせず、ソースコード管理システム(SubversionやGitなど)と統合でき、特定のタグに基づいてプロジェクトリリースを管理できます。また、他のプロジェクトで使用するために配布場所に公開することもできます。Mavenは、JAR、他の依存関係やドキュメントを含むアーカイブなどの個々の出力を、またはソースコードとして公開できます。

  • 下位互換性 :複数のモジュールを古いバージョンのMavenからMaven3に簡単に移行できます。

  • 子プロジェクトが親プロジェクトの依存関係を使用する場合、子プロジェクトは通常の状況ではバージョン番号を使用せずに親プロジェクトの依存関係を継承する必要があります。

  • 並列構築 :コンパイル速度は通常20〜50%向上します。

  • より良いエラー報告:Mavenはエラーレポートを改善しました。Mavenwikiページへのリンクを提供します。リンクをクリックすると、エラーの完全な説明が表示されます。

Mavenのインストールと構成

1

準備オーケー

MavenはJavaプロジェクトであるため、最初にJDKをインストールする必要があります。jdkがインストールされているかどうかを確認し、次のコマンドを使用します:java -version

2

Mavenダウンロード

公式ダウンロードポータル:

http://maven.apache.org/download.cgi

必要に応じて、ダウンロードするオペレーティングシステムに対応するmavenを選択します。

3

Mavenのインストールと構成

①ダウンロードが完了すると、解凍されたディレクトリは次のようになります。

②Maven環境変数を設定します。新しいシステム変数:

変数名:MAVEN_HOME

 変数値:C:\ ruanjian \ maven \ apache-maven-3.6.3

パスに環境変数を追加します。

%MAVEN_HOME%\ bin

cmdはdosウィンドウを開き、mvn -vと入力して、mavenが正常に構成されているかどうかを確認します。


Mavenリポジトリ

1

Mavenリポジトリとは何ですか?

Mavenの用語では、ウェアハウスはplaceディレクトリなどの場所()であり、すべてのプロジェクトjarファイル、ライブラリjarファイル、プラグイン、またはその他のプロジェクト固有のファイルを格納できます。

2

なぜMavenリポジトリを使用するのですか?

Mavenの前に、プロジェクトが依存するパッケージがダウンロードされ、対応するプロジェクトのlibディレクトリに配置されます。Springフレームワークパッケージなどの同じパッケージの場合、プロジェクトAが使用する場合は、プロジェクトAのlibディレクトリにコピーします。プロジェクトBが使用する場合は、プロジェクトBのディレクトリにコピーします。これが続くと、同じ依存関係パッケージをNコピーコピーする必要があることがわかります。これは、ディスクスペースの浪費を引き起こすだけでなく、均一に管理することも困難です。

MavenをベースにしたMaven坐标机制では、Mavenプロジェクトはすべてのコンポーネントをまったく同じ方法で使用します。これに基づいて、MavenはすべてのMavenプロジェクトで共有されるパッケージを特定の場所に均一に保存できます。依存パッケージのこの統合された保存場所はウェアハウスです。率直に言って、Mavenリポジトリーは依存パッケージが保管される場所です。

3

Mavenウェアハウスタイプ

Mavenリポジトリには次の3つのタイプがあります。

  • 地元

  • セントラル

  • リモート(リモート)

①地元の倉庫

Mavenローカルリポジトリは、mavenコマンドを最初に実行したときに作成されるマシン上のフォルダーです。

Mavenローカルウェアハウスには、プロジェクトのすべての依存関係(ライブラリjar、プラグインjarなど)が格納されます。Mavenビルドを実行すると、Mavenはすべての依存jarファイルをローカルリポジトリに自動的にダウンロードします。ビルドするたびに、リモートマシンに保存されている依存ファイルを引用することを回避します。

ローカルリポジトリのデフォルトの場所は、現在のユーザー名\ .m2 \ repositoryです。Mavenコマンドを実行すると、Mavenは指定したパスに依存ファイルをダウンロードします。

ローカルウェアハウスの場所をカスタマイズできる場合は、conf /settings.xmlでローカルウェアハウスの場所をカスタマイズできます。

②中央倉庫

Maven中央リポジトリーは、Mavenコミュニティによって提供されるリポジトリーであり、一般的に使用される多数のライブラリーが含まれています。

中央倉庫の重要な概念:

  • このリポジトリはMavenコミュニティによって管理されています。

  • 構成は必要ありません。

  • アクセスするにはネットワークを経由する必要があります。

中央リポジトリのコンテンツを閲覧するために、mavenコミュニティは次のURLを提供します。

http://search.maven.org/#browse

このリポジトリを使用して、開発者は利用可能なすべてのコードライブラリを検索できます。たとえば、testngフレームワークを使用するには、ページでtestngを検索します。

依存関係をコピーするだけです。

注:デフォルトの中央ウェアハウスのダウンロードは遅いため、ウェアハウスアドレスをAlibabaウェアハウスアドレスに変更し、conf / settings.xmlファイルを変更して、保存することができます。

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

次のように:

③遠隔倉庫

Mavenが中央リポジトリで依存ファイルを見つけられない場合、ビルドプロセスを停止し、コンソールにエラーメッセージを出力します。この状況を回避するために、Mavenは、远程仓库他のプロジェクトで使用される必要なコードベースまたはjarファイルを含む開発者独自のカスタムウェアハウスであるコンセプトを提供します。たとえば、pom.xmlで依存関係を宣言すると、Mavenはpom.xmlで宣言された依存ファイルをリモートウェアハウスからダウンロードします。

倉庫が3つあるので、jarパッケージを見つける方法は?Mavenマルチリポジトリが依存関係を見つける順序は、おおよそ次のとおりです。

  •  ローカル倉庫で検索する場合は、次の手順に進みます。

  • グローバル構成のプライベートサーバーウェアハウス(settings.xmlで構成され、アクティブ化されている)を検索します。そうでない場合は、次の手順に進みます。

  • プロジェクト自体によって構成されたプライベートサーバーリポジトリ(pom.xml)を検索します。そうでない場合は、次の手順に進みます。

  • 中央倉庫で検索する場合は、検索を終了します。

上記


それで全部です

その他のシリーズ記事

乞うご期待


ITesterソフトウェアテストスタック(ID:ITestingA)は、ソフトウェアテストテクノロジーと宝物の乾物の共有に重点を置き、毎週時間どおりに元の技術記事を更新し、毎月時々技術書を配布します。より高いレベルで会うことができます。スター⭐Meを覚えているように、毎週最新のプッシュを取得し、サードパーティの再版のソースを示してください。

ITesterソフトウェアテストスタック

過去のコンテンツが好まれました

1. Pythonインターフェースの自動化-インターフェースの基本(1)


2. Pythonインターフェースの自動化-インターフェースの基本(2)


3.要求を取得するモジュールPythonインタフェースの自動化、要求


4. Pythonインタフェースの自動化-要求はポストの要求をモジュール


5. Pythonインタフェースの自動化のためのクッキーとセッションアプリケーション


6. Pythonインタフェースの自動化のためのトークンの詳細な説明と応用


7. Pythonインタフェースの自動化要求は、パッケージを要求します


8. pymysqlデータベース操作のPythonインタフェースオートメーション


9. Pythonインタフェース自動化ログログ


10. Pythonインタフェースオートメーションloggingパッケージと実際の戦闘

最新の乾物コンテンツを入手したい

スターに来て私に従ってください

毎週月曜日、水曜日、金曜日の08:30にお会いしましょう

<<右にスワイプして次の画像を表示します>>

 乾物を取るための 舞台裏の返信「リソース」

WeChatグループ」返信して、モンスターと戦い、アップグレードしてください

パーソナルWeChat:Cc2015123

追加する意図を示してください:)

本当にシリアンが大好きです、2021年に会いましょう〜

おすすめ

転載: blog.csdn.net/weixin_42485712/article/details/112001262