マルチモジュールのメリットの開発:
前のモジュールの数を記述する方法と接触していなかった、ジャー内部にパッケージ時間の秋のほとんどが、係員の問題は明らかですが、変更するDAO層のニーズの一部があると仮定し、しかし、我々はプロジェクト全体をパッケージ化する必要があり、
これは実際にDAO層は、個別にjarファイルとしてパッケージ化、析出開発効率を高めるために、そうならば、無意味な作業の多くを行っています。また、単にDAO、サービスとして、プレゼンテーション層の目的は、異なるモジュールに分離さ
デカップリングを達成するために、各モジュールは、独自の機能を担当し、また、他のプロジェクトのために使用することができます。複数のモジュールはまた、労働者の有益な分割であると最終的に、各チームが異なるモジュールを担当し、効率を向上させます。
IDEAは、マルチモジュールプロジェクトを作成します。
違いは、Eclipseで、IDEAのみIDEAプロジェクトとモジュールに、プロジェクトは、プロジェクトが複数のモジュールを含んでいるモジュールが続くトップユニットプロジェクトは、であり、いかなる職場概念でないことです。
プロジェクトと、各モジュール間の関係はこのように表現することができます。
親は、プロジェクトの父であるサブモジュールのすべてが、その後ダウンし、それに依存する必要があり、そして、プロジェクトはツール、DAO、およびサービスだけでなく、プレゼンテーション層(ウェブ)に分けられ、各モジュールは、独自に指定するために、独自のPOMファイルが含まれていますパッケージングや他の依存関係。
ウェブサイト - 親 - のpom.xml(POM)
|
|
| - ウェブサイト-utilの
| | - のpom.xml(瓶)
|
| - ウェブサイト、DAO
| | - のpom.xml(瓶)
|
| - ウェブサイトサービス
| | - のpom.xml(戦争)
|
| - ウェブサイト、ウェブ
| - のpom.xml(戦争)
最初のステップは、プロジェクトが空の場合、一例として、空のプロジェクトを構築するために、アプリ名であってもよいを構築することであるか否かを、プロジェクトを作成することです
---- "
次がされた後、新しい親モジュールその後、骨格がMavenを構築するために使用することができる、クイックスタートは、親の名前の中の時間を選択しました
---- "
親モジュールは大きな変化、ポンポンポンポンファイルにパッケージを追加します。
< パッケージ> POM </ 梱包>
一部は、このようなプレゼンテーション層などの特別な機能を持っていない場合は、自分のプロジェクトの構造に応じて時間が経過した後、モジュールを構築していき、スキップすることを選択したスケルトンを作成し、Webアプリケーションのディレクトリを必要とし、
特別な機能がある場合は、スケルトンに基づいて作成することができます。不明な点がスキップスケルトンで、スケルトンは、モジュールのモデル塗りつぶしの設定されている場合もちろん、何のスケルトンは、適切な機能を達成するために、独自のディレクトリ構造を作成することはできません。
焦点は、各モジュールのPOM-依存ファイル上にあり、開始後の非常に重要な役割を持っている契約を、パッケージ化されています。
示すように、良いプロジェクトを作成します。
Tomcatのプラグインを開始します。
モジュールで起動するPOMファイルのニーズを頼って追加します。
<!-- 配置Tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/</path> <port>8081</port> <server>tomcat7</server> <uriEncoding>UTF-8</uriEncoding> </configuration> </plugin>
参数解释:
path:访问的路径
port:启动的端口
server:服务器名称
uriEncoding:字符编码
这里我在Service和Web层都用了这个插件,但是单凭这个插件是无法启动的,因为是多模块的项目,而且Service和Web层都依赖于某些层,所以必须先将其他
模块打包好,才能正常启动。
打包的正确顺序是,父->子
以上图为例,先parent再common,再到manager,这些进行后才实现了dao,interface这些层的打包,之后的Service和web依赖于它们,才能正常启动。
IDEA对maven提供了很好的支持,找到Maven Project选项,可以看到如下
这里实际上是代表了模块的一个生命周期,所以要使得其他maven模块也能依赖它们,只需将它们安装到本地maven库中就行。
点击install,再查看本地的maven库:
可以看到本地仓库中已经有了相应的jar包
这些工作完成之后就是启动了,这里我将Service设在8080,将web设在8081
然后配置好名字和需要其他配置
在command line行写上tomcat7:run (如果后面的7是指tomcat的版本。)
apply之后回到页面点击运行符号。
Service启动:
Web同样的方法启动: