38

.jarプロジェクトにライブラリを追加する場合、IntelliJ IDEAの「モジュールの依存関係」と「ライブラリ」の違いは何ですか?.jarまた、ライブラリをIntelliJ IDEAの「モジュール依存関係」に追加する場合の「エクスポート」チェックボックスとは何ですか?

これらの各方法で.jar、新しく生成されたファイルを作成するときに、含まれているライブラリ内のクラスとコードは、最終的なプロジェクト(コード)にどのように統合され.jarますか?

4

4 に答える 4

13

モジュールの依存関係は、モジュールファイルが参照するクラス、アーカイブ、ライブラリ、およびリソースです。ライブラリは、アーカイブまたはディレクトリに保存されているクラスファイルのセットです。

エクスポートチェックとは、チェックすると、このライブラリがこのライブラリを参照する他のモジュールに暗黙的に追加されることを意味します。

.jarファイルを作成するには、アーティファクトを作成する必要があります。アーティファクトは、建物の出力のプレースホルダーです。.jar.war.earアーカイブを作成するための事前定義されたテンプレートがあります。jarを選択して、jarアーティファクトを作成できます。デフォルトでは空で定義されており、アーティファクトのコンテンツを定義する必要があります。コンパイルされた出力をドラッグアンドドロップできますが、ライブラリアーカイブでは実行しないでください。この場合のライブラリは.jarファイル内にパッケージ化されるため、アプリケーションを起動する前に、ライブラリをロードするために別のクラスローダーを作成する必要があります。代わりに、アーティファクトタイプをその他に変更し、 .jarおよび依存ライブラリを出力ルートにドラッグしますこのようにして、ライブラリアーカイブは作成された.jarとともにコピーされます。また、MANIFEST.MFを作成し、依存ライブラリのClass-Pathを指定する必要があります。すべてのファイルは、アーティファクトをビルドするために指定したディレクトリに保存されます。[アーティファクトの作成]メニューを使用して作成できます。

于 2012-09-04T21:02:07.247 に答える
10

プロジェクトに複数のモジュールが含まれている場合、「モジュール依存関係」はこれらのモジュール間の依存関係を定義しますが、ライブラリはモジュールで使用されるコンパイル済みクラス(通常はjarファイル、オプションでソースとjavadocsを含む)です。

各モジュールは、独自のライブラリとアーティファクト(たとえば、結果jarファイル)を持つことができ、循環依存なしで他のモジュールに依存できます。

于 2012-09-04T22:00:20.393 に答える
3

[モジュールの依存関係]タブにはライブラリを含めることができます。エクスポートとは、モジュールのライブラリを、このモジュールに依存する別のモジュールでも使用できることを意味します。

アーティファクトを使用して、すべての依存関係を持つ最終的なjarを作成できます。

于 2012-09-04T19:07:59.867 に答える
3

「IntelliJIDEAでは、ライブラリは、グローバル(多くのプロジェクトで利用可能)、プロジェクト(プロジェクト内のすべてのモジュールで利用可能)、およびモジュール(1つのモジュールで利用可能)の3つのレベルで定義できます。」

  • グローバルライブラリは、Project Structure \ Platform Settings \GlobalLibrariesを介して設定されます
  • プロジェクトライブラリは、Project Structure \ Project Settings\Librariesを介して設定されます
  • モジュールライブラリは、Project Structure \ Project Settings \ Modules\Dependenciesを介して設定されます
于 2019-04-25T13:34:42.353 に答える