IntellijIdea-ディープダイブ
このチュートリアルの最初の4つの章は、初心者にIntelliJの基本レベルの概要を提供するように設計されています。このセクションでは、IntelliJについて深く掘り下げ、プロジェクト、その形式、その他について詳しく説明します。
プロジェクトを理解する
プロジェクトは、作業しているアプリケーションまたはソフトウェアです。複数のモジュール、クラス、ライブラリ、構成などを含めることができます。これは、階層の最上位の要素です。
モジュールを理解する
モジュールは、「プロジェクト」の下に1つのラングを備えています。モジュールは、他のモジュールとは独立してコンパイル、デバッグ、および実行できる別個のエンティティです。1つのプロジェクトに複数のモジュールを含めることができます。プロジェクトにはいつでもモジュールを追加または削除できます。
これに加えて、既存のモジュールをインポートすることもできます。次の手順に従って、既存のモジュールをインポートします-
- 「ファイル」→「プロジェクト構造」に移動します。
- モジュールを選択し、プラスアイコンをクリックします。
- モジュールをインポートするオプションが表示されます。

フォルダを理解する
Content rootモジュールを構成するすべてのファイルを含むフォルダーです。モジュールには、複数のコンテンツフォルダーを含めることができます。フォルダは次の種類に分類されます-
Sources −このカテゴリをフォルダに割り当てることにより、このカテゴリとそのサブフォルダにJavaソースコードが含まれているため、コンパイルプロセスの一部としてコンパイルする必要があることをIntelliJに指示します。
Tests−このカテゴリをフォルダに割り当てることにより、単体テストの場所であることをIntelliJに指示します。このフォルダーは、Sourcesフォルダーからクラスにアクセスできます。
Resources−画像、XML、プロパティファイルなど、プロジェクトで使用されるさまざまなリソースファイルを表します。コンパイルプロセス中に、このフォルダーの内容がそのまま出力フォルダーにコピーされます。
Excluded−除外されたフォルダーのコンテンツはIntelliJによって索引付けされません。これは、IntelliJがコード補完の提案やその他のヒントを提供しないことを意味します。たとえば、出力ディレクトリとターゲットディレクトリはデフォルトで除外されます。
Test resources −これはリソースに類似しており、単体テストに使用されます。

ライブラリを理解する
ライブラリは、さまざまなクラスをまとめたものです。ライブラリはコードの再利用を可能にします。Javaでは、ライブラリはZIP、Jar、または単にフォルダで囲むことができます。ライブラリは3つの異なるレベルで定義できます。レベルは、グローバル、プロジェクト、モジュールレベルです。
Global level −すべてのプロジェクトで共有されます。
Project level −プロジェクトのすべてのモジュールで共有されます。
Module level −これらのモジュールのクラスによって共有されます。
ファセットを理解する
ファセットはモジュールの拡張機能です。それらはフレームワークとテクノロジーにサポートを追加します。ファセットがモジュールに追加されると、IntelliJはそれがサポートを追加することを識別します。たとえば、エディタのヒントとヘルプ、ウィンドウバーの新しいツール、依存関係のダウンロードなどです。からファセットを追加できますFile → Project Structure 以下に示すウィンドウ-

アーティファクト
アーティファクトはプロジェクトの出力です。単純なJARファイル、Java EEアプリケーション、またはJavaEJBアプリケーションにすることができます。GradleやMavenなどの外部ビルドツールを使用している場合、IntelliJはそれらのアーティファクトを自動的に追加します。アーティファクトは、に移動して作成できます。File → Project Structure 以下に示すように-

既存のプロジェクトのインポート
このセクションでは、既存のプロジェクトをインポートする方法を理解します。プロジェクトは2つの方法でインポートできます-
- 既存のソースからインポートします
- ビルドモデルからインポートします。
現在、GradleおよびMavenビルドツールをサポートしています。プロジェクトをインポートするには-
- 既存のソースから[ファイル]→[新規]→[プロジェクト]に移動します。
- 既存のプロジェクトのディレクトリ、Mavenのpom.xml、またはGradleのビルドスクリプトを選択します。
- [OK]ボタンをクリックします。

プロジェクトフォーマット
IntelliJは2種類のプロジェクトフォーマットをサポートしています。 directory-based その他は file-based。ディレクトリベースの形式は新しいものであり、推奨されています。デフォルトでは、IntelliJはディレクトリベースのプロジェクト形式を作成します。新しいプロジェクトの作成中にプロジェクト形式を選択できます。新しいプロジェクトウィンドウで、下の画像に示すように、さらに設定をクリックするだけです-

ディレクトリベースのプロジェクト形式
この形式は、プロジェクトにアイデアフォルダーを作成し、そのフォルダー内にすべての構成ファイルを保持するのに役立ちます。設定はxmlファイルにグループ化されます。たとえば、それは作成しますmisc.xml, modules.xml, workspace.xml等々。次のスクリーンショットは、これがどのように機能するかを理解するのに役立ちます-

ファイルベースのプロジェクト形式
それは2つのプロジェクトファイルを作成します ..ipr そして wpr拡張機能。iprファイルにはプロジェクト固有の設定が含まれ、wprファイルにはワークスペース固有の設定が含まれます。

ファイルベースのプロジェクトをディレクトリベースのプロジェクトに変換するには、に移動します。 File → Save as a Directory-Based format。
ディレクトリベースとファイルベースのプロジェクト形式
ファイルベースのプロジェクト形式と比較すると、ディレクトリベースのプロジェクト形式では、設定が意味のある名前で別のフォルダに保存されます。その他の違いは-
関連する設定が1つのファイルに保存されるため、ディレクトリベースのプロジェクト形式での管理が容易になります。
フォルダにアイデアサブフォルダが含まれている場合、IntelliJはそのプロジェクトを認識します。このため、iprプロジェクトを明示的に選択する必要はありません。
ディレクトリベースのプロジェクト形式では、設定が複数のファイルに分割されるため、バージョン管理システムに保存する特定のタイプの設定を選択する方が簡単です。