IDEAのプロジェクト構造を深く理解する

IntellijIDEAはチュートリアル関連のシリーズカタログを使用します

IDE開発ツールの便利な点の1つは、多くの構成アイテムがデフォルトのアイテムをほぼ直接使用できることです。ただし、プロジェクトごとに対象を絞った構成が必要になることは避けられません。この記事では、プロジェクト構造のさまざまな機能を詳細に分類し、緊急時の収集に注意を払います。

この記事を書いた理由をお話ししましょう。プロジェクトのIdeaでSpringBootプロジェクトのグループを開きましたが、コンパイルとログ出力の結果が期待と一致していなかったので、プロジェクト構造の構成項目を注意深く調べて、見つけました。ここには便利なアイテムがたくさんあります。機能がまとめられ、みんなと共有されています。

プロジェクト構造は「プロジェクト構造」であり、モジュール、ファセット、ライブラリ、アーティファクト、SDKの機能を含む、プロジェクトのほぼすべてのパーソナライズされた構成アイテムをカバーします。
ここに画像の説明を挿入します

プロジェクト構造を開く方法

プロジェクト構造の構成を開くには2つの方法があります。1つの方法は、上の①の位置にあるアイコンをクリックして、関連する構成インターフェースを直接開くことです。

もう1つの方法は、ショートカットキーを使用して開くことです。Windowsオペレーティングシステムのデフォルトのショートカットキーは「Ctrl + Shift + Alt + S」です。Macオペレーティングシステムのデフォルトのショートカットキーは「command +;」の組み合わせです。

最初の方法で、対応する構成が見つからない場合は、アイデアを使用するときに大きなトリックを教えてください:「ヘルプ」検索。
ここに画像の説明を挿入します

[ヘルプ]メニューをクリックし、検索するProjectキーワードを入力します。デフォルトでは、Projectキーワードに関連するすべてのオプションが一致します。マウスを対応する結果に移動すると、対応するコンテンツのメニュー位置が自動的にに表示されます。もちろん、直接クリックして開くこともできます。

これはここで実行できるだけでなく、ほとんどの操作はこのように実行できます。使用するのは非常にクールです。

プロジェクト構成項目

通常の状況では、開いた後にデフォルトで選択される最初の表示コンテンツはプロジェクトです。図の項目1、2、3、および4に注目してください。
ここに画像の説明を挿入します

最初の項目、プロジェクト名、プロジェクト名。個人的には、ここでのプロジェクト名は通常、プロジェクトディレクトリ名およびpomファイル内の名前と一致しています。不整合を回避すると同時に、IDEAが左側に複数の名前のロゴを表示することを回避します。

すべてのspringbootプロジェクトなど、プロジェクトのグループを開く場合は、プロジェクトの1つ(デフォルトでは最初のプロジェクト)の名前ではなく、名前をspringboot-allのような名前に変更します。

2番目のアイテムであるProjectSDK。プロジェクトのSDKの使用法を構成します。これは通常、より頻繁に使用されます。たとえば、新しいプロジェクトを開くときに、SDKのバージョンが期待と一致しているかどうかを確認する必要があります。右側の[編集]でSDKを編集することもできます。

ここで[編集]をクリックすると、操作のためにプラットフォーム設定のSDKにジャンプします。こちらの図をご覧ください。操作は比較的簡単なので、拡大はしません。
ここに画像の説明を挿入します

3番目の項目はプロジェクトの言語レベルです。サポートするJava言語レベルを選択します。複数のモジュール(プロジェクトのグループとして理解できます)の場合、すべてのモジュールで有効になります。

異なるJDKバージョンの選択は、コードの構文に一定の影響を及ぼします。たとえば、JDK8より前のバージョンを選択した場合、Lambdaベースの構文があると、コードにエラーが発生します。現在、JDK8が最も使用されています。もちろん、プロジェクトが比較的古いか比較的新しい場合は、他のバージョンを選択することもできます。

4番目の項目であるプロジェクトコンパイラの出力。IntelliJIDEAがコンパイルされた結果を保存するパスを指定します。

これが私が最初に言った問題です。単一のプロジェクトの場合、出力パスを構成できます。また、後述のモジュールで個別に構成することもできます。

ただし、複数のモジュールプロジェクトの場合、全員が出力ディレクトリを共有しているように見えます。このとき、出力ログファイルのパスが「./log」の場合、ログはサブアイテムに出力されず、ここで指定したパスで出力される場合があります。

モジュール構成項目

モジュールの構成は、プロジェクトのグループが各プロジェクトのパラメーターを個別に構成できる場合に、より一般的に使用されます。プロジェクト名、ディレクトリ構造、出力パス、依存関係などを含みます。
ここに画像の説明を挿入します

下の図でマークされている4つのアイテムを分析してみましょう。そのうち、3番目と4番目のアイテムは[ソース]オプションのサブアイテムに属しています。

最初の項目であるプラス記号は、さまざまなモジュール項目をインポートして追加できます。もちろん、後ろのマイナス記号は、対応する項目を削除できます。

2番目の項目であるプロジェクトの名前は前の項目と同じであり、複数の場所で同じにすることもお勧めします。

3番目の項目であるJDKバージョンはプロジェクトと同じですが、これは現在のモジュール用です。

4番目の項目はプロジェクトのディレクトリ構造です。モジュール開発ディレクトリはフォルダに分類され、さまざまな種類のファイルにファイルの種類が割り当てられます。上記は、ソース、テスト、リソース、テストリソース、除外に分けられます。

名前が示すように、SourcesはJavaソースコード、Testはテストのソースコード、Resourcesはリソースファイル、Test Resourcesはテストで使用されるリソースファイル、Excludedは除外されたアイテム(コンパイルされたtrrgetなど)です。ディレクトリ)。

ここでより頻繁に使用されるシーンは、新しく追加されたフォルダーです。トップレベルのディレクトリを右クリックすると、「新しいフォルダ」がポップアップしてディレクトリが作成され、新しいフォルダの種類を指定できます。テストやテストリソースなしでプロジェクトを作成するなどの一般的な状況では、ここにディレクトリを追加してから、ディレクトリタイプを指定できます。

Sourcesオプションと同等のパスと依存関係があります。これらの2つの操作は比較的単純です。パスは、コンパイルされた出力パスを指定するために使用されます。
ここに画像の説明を挿入します

通常、デフォルト値で十分です。その中で、プロジェクトのコンパイル出力パスを継承すると、プロジェクトのコンパイル出力パスが継承され、プロジェクトに指定されたパスが使用されます。つまり、[プロジェクト]オプションで設定された出力ファイルパスです。

モジュールコンパイル出力パスを使用し、モジュールコンパイル出力パスを使用します;出力パス、コンパイル出力パス;テスト出力パス、テストコードコンパイル出力パス。

次のJavaDocは、使用可能なコントロールの組み合わせのリストを使用して、モジュールに関連付けられた外部JavaDocを格納します。一般的には使用されないため、詳細には説明しません。

もう1つは依存関係です。これは主に、関連するコンテンツに依存するようにjarパッケージを構成します。
ここに画像の説明を挿入します

JDKもここで構成でき、他の依存関係は以下のプラス記号で導入でき、対応するjarパッケージに対応するスコープも構成できます。

上記では、多くのJDK構成オプションについて説明しました。実際の戦闘中にJDKバージョンの変更や不整合の問題がある場合は、JDKバージョンに問題がないかどうかを最初から最後まで確認することをお勧めします。

ライブラリオプションの構成

[ライブラリ]タブで、モジュールSDKを定義し、モジュールの依存関係のリストを作成できます。

ここに画像の説明を挿入します

プラス記号の操作により、新しいプロジェクトライブラリを作成したり、カテゴリを設定したり、操作を削除したりできます。

ファセットオプションの構成

ファセットオプションは主に、Web、Spring、Hibernateなどのモジュールの特性を表現するために使用されます。

ここに画像の説明を挿入します

アーティファクトオプションの構成

アーティファクトはMavenの概念です。ここでは、爆発した戦争、戦争、jarなど、モジュールがパッケージ化されている形式を示します。
ここに画像の説明を挿入します

このフォームは、SpringBootプロジェクトに基づく場合はめったに使用されず、Webベースのwarパッケージが使用される場合により頻繁に使用されます。

その中で、Webプロジェクトには展開型があります。これは、アーカイブしないことを意味すると理解できます。つまり、フォルダー、jspページ、およびクラスがコンテナーに直接デプロイされます。ホットデプロイメントを容易にするために、開発中にこのモードを使用することをお勧めします。

デフォルトでは、IDEAのモジュールとアーティファクトの出力ディレクトリが設定されているため、変更する必要はありません。クラスディレクトリは、warパッケージが開かれると、WEB-INFディレクトリに自動的に生成され、コンパイルされたファイルがそこに配置されます。

その他のオプション

一般的に使用されていない他のオプションについてはあまり説明しません。その中で、SDKオプションはシステム開発ツール、グローバルSDK構成であり、新しいJDKバージョンはここで構成できます。グローバルライブラリはグローバルクラスライブラリであり、一般的に使用されるいくつかのクラスライブラリを構成できます。プロジェクトが異常な場合は、プロンプトに従って問題を修復できます(修正済み)。

おすすめ

転載: blog.csdn.net/shi_hong_fei_hei/article/details/112635612