對于使用maven的骨架創建工程,想必大家都已經熟悉了,這里是一些常用的工程類型,如想看到更多的骨架可以使用mvn的交互式Interactive generate Goal創建指令:mvn archetype:generate
// Creating a simple java application
mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id]
// Creating a webapp
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-webapp
// Creating a site
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-site-simple
// Creating a mojo
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-mojo
// Creating a portlet
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-portlet
現在想介紹的是多模塊的工程的構建。
典型的多模塊劃分,即按MVC的分層方式來構建多個模塊,如工程包括web,business,core3個模塊。好我們先看看主工程的pom中應添加些什么,請注意紅色文字部分
1.主工程的pom文件中內容:
<modelVersion>4.0.0</modelVersion>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>xxxx Project</name>
<url>http://maven.apache.org</url>
<!-- 工程所包含的模塊 -->
<modules>
<module>xxxx-core</module>
<module>xxxx-business</module>
<module>xxxx-web</module>
</modules>
2.Web模塊的pom文件:
<!-- 父級的pom文件位置 -->
<parent>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx</artifactId>
<version>1.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-web</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>xxxx-web/name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- Application Dependencies -->
<!-- Web層所依賴的上兩層模塊 -->
<dependency>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-core</artifactId>
<version>${version}</version>
</dependency>
<dependency>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-business</artifactId>
<version>${version}</version>
</dependency>
...
<dependencies>
3.完成后,mvn eclipse:eclipse后的文件目錄為:
xxxx
├─xxxx-core
│ ├─pom.xml
│ ├─.settings
│ ├─src
│ │ ├─main
│ │ │ ├─java
│ │ │ └─resources
│ │ └─test
│ │ ├─java
│ │ └─resources
│ └─target
│ ├─classes
│ └─test-classes
├─xxxx-business
│ ├─pom.xml
│ ├─.settings
│ ├─src
│ │ ├─main
│ │ │ ├─java
│ │ │ └─resources
│ │ └─test
│ │ ├─java
│ │ └─resources
│ └─target
│ ├─classes
│ └─test-classes
├─xxxx-web
│ ├─pom.xml
│ ├─.settings
│ ├─src
│ │ ├─main
│ │ │ ├─java
│ │ │ └─resources
│ │ └─test
│ │ ├─java
│ │ └─resources
│ └─target
│ ├─classes
│ └─test-classes
|--pox.xml