Maven创建多模块工程研究
首先安装好maven,然后cmd进入dos窗口,转到你的工程目录下
1.生成父级项目工程:
D:\workspace>mvn archetype:create -DgroupId=com.jd -DartifactId=schedule
后期使用archetype:generate命令替换create命令
打开schedule目录删除src文件夹,打开pom.xml,将packaging属性修改为pom(表示为父工程)
cd进入schedule目录
2.生成子项目工程(1)业务接口模块:
D:\workspace\schedule>mvn archetype:create -DgroupId=com.jd -DartifactId=schedule-domain -Dpackage=com.jd.schedule.domain
3.生成子项目工程(2)web应用模块:
D:\workspace\schedule>mvn archetype:create -DgroupId=com.jd -DartifactId=schedule-web -Dpackage=com.jd.schedule.web -DarchetypeArtifactId=maven-archetype-webapp
其中 -DarchetypeArtifactId=maven-archetype-webapp表示生成的子项目为web工程
转换为eclipse工程
mvn eclipse:clean eclipse:eclipse
用eclipse导入父级项目工程,会出现三个程列表栏目,但是会报错,显示:

这时你要先去掉项目的Maven特性,步骤如下:选中三个maven项目,然后右键,选择“Maven” ->“Disable Maven Nature”
然后“Delete”掉工程,不要删除文件,在cmd下面输入
mvn eclipse:clean
重新导入Maven工程就正常了
接下来讲各模块如何互相引用:
如果web子项目想引用domain子项目的类文件,就在web子项目的pom.xml文件加入
<dependency>
<groupId>com.jd</groupId>
<artifactId>schedule-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
把其他两方面要引用的包都放在父项目的pom.xml里面,如果有子项目特定的包就单独放在子项目的pom.xml里面
接下来要在父项目的pom.xml里加入两个插件,用于发布时生成源代码jar文件与编译环境
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
最后点击父工程,右键“Maven Build”,在Goals选项里输入“tomcat:run”

运行成功
如果报内存不足,请在JRE里修改内存
-Xms256M
-Xmx1024M
-XX:PermSize=128M
-XX:MaxPermSize=256M

浙公网安备 33010602011771号