1.プロジェクト構成の理解
IDEAで最も重要なさまざまな設定項目は、このプロジェクト構造です。これはプロジェクトの実行に関連しており、腕と脚なしでは機能しません。最近はお馴染みのEclipseではなくIDEAを使っていたのですが、もっと理解して使ってもらうためにいろいろな資料を見つけて再検討しました。
1.1プロジェクト
1.プロジェクト名:
プロジェクトの名前を定義します。
2.プロジェクトSDK:
プロジェクトで使用するJDKを設定します。ここにJDKの他のバージョンを追加することもできます。
3.プロジェクトの言語レベル:
これはJDKに似ていますが、JDK1.8を設定して1.6機能のみを使用する場合は、言語レベルを1.6に設定できます。これは、プロジェクトをコンパイルおよびチェックするときに最低限必要なJDK機能です。
4.プロジェクトコンパイラの出力:
黄色の部分に示すように、プロジェクトのデフォルトのコンパイル出力一般ディレクトリは、実際には、各モジュールが独自の特別な出力ディレクトリ(Modules-(project)-Paths-Use module compile output path)を設定できるため、この設定は少し無味です。
ビネット:その他のIDEA関連の記事については、このパブリックアカウント(Javaバックエンド)のテクニカルブログの投稿に返信して、〜を取得できます。
1.2モジュール
1.2.1サブアイテムを追加または削除する
プロジェクトには複数のサブプロジェクトがあり、各サブプロジェクトはモジュールに相当します。通常、プロジェクトは1つだけです。IntelliJIDEAもデフォルトでは1つのサブプロジェクトの形式であるため、構成する必要があるモジュールは1つだけです。
(ここでの2つのプロジェクトの紹介は参照用です)
1.2.2サブプロジェクト構成
各サブプロジェクトは、ソース、パス、依存関係の3つの主要な構成オプションに対応しています。
出典:
プロジェクトのディレクトリリソースを表示します。これらはプロジェクトのデプロイ時に必要なディレクトリであり、異なる色は異なるタイプを表します。
パス:
プロジェクトのコンパイル出力ディレクトリ、つまりプロジェクトクラスとテストクラスのコンパイル出力アドレスを指定できます(Projectのデフォルトの出力アドレスを置き換えました)。
依存関係:プロジェクトの依存関係
1.2.3追加と削除のフレームワーク(Webデプロイメント-1)
各サブプロジェクトの下で、使用するフレームワークを定義できます。ここでは、Webパーツの設定に焦点を当てます。
1.3ライブラリ
ここでは、追加したjarパッケージを表示したり、jarパッケージを追加したり、jarパッケージの並べ替えと同様に、グループに複数のjarを配置したりできます。
デフォルトでは、各jarパッケージは個別のグループに作成されます(テストされていない、未定)。
1.4ファセット
公式説明は次のとおりです。
要素セレクターペインでフレームワーク(ファセット)を選択すると、ダイアログの右側にフレームワークの設定が表示されます。
(左側の選択パネルでテクニカルフレームをクリックすると、このフレームの一部の設定が右側に表示されます)
正直なところ、何の影響もありませんでした。
1.5アーティファクト(Web Deployment-2)
プロジェクトのパッケージ化と配置の設定。これは、プロジェクト構成でより重要な場所です。
最初にその意味を理解し、公式に定義されたアーティファクトを見てください。
アーティファクトは、ソフトウェアソリューションまたはその一部をテスト、展開、または配布するためにまとめたプロジェクトアセットのアセンブリです。例としては、Javaアーカイブにパッケージ化されたコンパイル済みJavaクラスまたはJavaアプリケーションのコレクション、ディレクトリ構造またはWebアプリケーションアーカイブとしてのWebアプリケーションなどがあります。
これは、コンパイルおよびテストされたJavaクラスとWebリソースを統合したものです。もう少し一般的な言い方をすると、これは、war Explodeed、War、jar、earなどの特定のモジュールをパッケージ化する方法を意味します。アーティファクトを使用すると、モジュールをアプリケーションサーバーにデプロイできます。
(jar:Java ARchive。通常、Javaプラットフォームアプリケーションソフトウェアまたはライブラリを配布するために、多数のJavaクラスファイル、関連するメタデータおよびリソース(テキスト、画像など)ファイルを1つのファイルに集約するために使用されます。
war:WebアプリケーションARchive。JSP、Javaサーブレット、Javaクラス、XMLファイル、タグライブラリ、配布に使用される静的Webページ(HTMLおよび関連ファイル)、およびWebアプリケーションを構成するその他のリソースを含むJARファイル。
expanded:ここでは、圧縮ではなく、拡張の意味を理解できます。つまり、warおよびjarの出力前のディレクトリ構造は圧縮されません。ファイルを変更した効果がすぐにわかるように、開発時にはこのモードを使用することをお勧めします。)
デフォルトでは、IDEAのモジュールとアーティファクトの出力ディレクトリが設定されています。変更する必要はありません。warパッケージが作成されると、WEB-INFディレクトリにクラスが自動的に生成され、コンパイルされたファイルが配置されます。
ここで出力ディレクトリを理解できないかもしれませんが、ファイルのコンパイル用に出力ディレクトリを設定したことはありませんか?これらのリソースを統合するディレクトリがあるのはなぜですか?それは何をしましたか?
実際、実際には、クリックしてtomcatを実行すると、デフォルトで次のことが実行されます。
コンパイル、IDEAはEclipseの保存とコンパイルとは異なり、保存/自動保存後にコンパイルしないため、サーバーを実行する前にコンパイルを行います
コンパイル後、クラスファイルは指定されたプロジェクトコンパイル出力ディレクトリに保存されます(1.2.2を参照)。
アーティファクトの設定に従ってディレクトリ構造を作成します。
Webリソースのルートディレクトリにあるすべてのファイルをアーティファクトディレクトリにコピーします(1.2.3を参照)。
コンパイル出力ディレクトリの下のクラスディレクトリをアーティファクトの下のWEB-INFにコピーします(1.2.2を参照)。
libディレクトリの必要なjarパッケージをアーティファクトの下のWEB_INFにコピーします。
サーバーを実行します。正常に実行された後、必要に応じて、ブラウザーが自動的に開き、指定されたURLにアクセスします。
ここで、構成済みのアーティファクトをTomcatに追加する必要があることにも注意してください。
2.参照リンク
IntelliJ IDEAプロジェクトに関連するいくつかの重要な概念の紹介
whudoc.qiniudn.com/2016/IntelliJ-IDEA-Tutorial/project-composition-introduce.html
www.jetbrains.com/help/idea/2016.3/dependencies-tab.html
依存関係タブ
https://www.jetbrains.com/help/idea/2016.3/facet-page.html
ファセットページ
アーティファクトの操作
www.jetbrains.com/help/idea/2016.3/working-with-artifacts.html#artifact_def
Intellij IDEA 14.xのファセットとアーティファクトの違い
www.cnblogs.com/52php/p/5677661.html
IntelliJユーザーガイド-IntelliJのWeb配置ロジックの詳細な理解
white-crucifix.iteye.com/blog/2070830
IntelliJ IDEA WEBプロジェクトデプロイメント構成
my.oschina.net/lujianing/blog/186737