终于有时间搞java了,今天使用IDEA基于maven搭建了多模块聚合工程,经过了多番尝试,终于成功啦!
先看一下目录关系
taotao-parent(父工程管理jar包的版本)
|--taotao-common(把通用的工具类打包)
|--taotao-manager(继承父工程)
|-taotao-manager-pojo
|-taotao-manager-dao
|-taotao-manager-service
|-taotao-manager-web(war包)
taotao-parent 为项目的父工程,用来管理jar包及版本
taotao-common为通用工程,继承父工程,就是把通用的工具类打包
taotao-manager为开发工程,同样继承父工程
其中,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service和taotao-manager-web均为开发工程的一个子模块,依赖于开发工程taotao-manager
前3个子模块打成jar包,taotao-manager-web打成war包
选择Empty——>next
填写工程名称和位置,点击finnish,完成了空工程的创建
2.创建父工程 taotao-parent,步骤如下:
File——>New——>Module
点maven,勾选archetype,选quickstart这项,然后Next下一步
填写GroupId,一般为组织名称;填写ArtifactId,为项目名称
选择本地maven目录及maven配置文件
填写项目名称及位置,点Finish,父工程创建完成
等待生成pom文件,修改打包方式为pom,pom文件为:
4.0.0
com.slx
taotao-parent
1.0-SNAPSHOT
pom
taotao-parent
http://maven.apache.org
4.12
4.1.3.RELEASE
3.2.8
joda-time
joda-time
${joda-time.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
org.apache.commons
commons-io
${commons-io.version}
commons-net
commons-net
${commons-net.version}
${project.artifactId}
org.apache.maven.plugins
maven-resources-plugin
2.7
UTF-8
org.apache.maven.plugins
maven-compiler-plugin
3.5.1
1.8
UTF-8
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
3.创建通用工程taotao-common
File——>New——>Module
点maven后直接next下一步
继承taotao-parent,填写ArtifactId,然后next下一步
填写通用模块名称,点finish,通用模块创建完成
开发模块taotao-manager与通用模块创建方式一致
taotao-common的pom.xml
taotao-parent
com.slx
1.0-SNAPSHOT
../taotao-parent/pom.xml
4.0.0
taotao-common
jar
taotao-common
http://maven.apache.org
UTF-8
joda-time
joda-time
org.apache.commons
commons-lang3
taotao-parent
com.slx
1.0-SNAPSHOT
../taotao-parent/pom.xml
4.0.0
taotao-manager
pom
taotao-manager
http://maven.apache.org
taotao-manager-pojo
taotao-manager-dao
taotao-manager-service
taotao-manager-web
UTF-8
com.slx
taotao-common
1.0-SNAPSHOT
org.apache.tomcat.maven
tomcat7-maven-plugin
8080
/
4.创建开发模块下的子模块,分两类介绍,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service创建方式一样,taotao-manager-web的创建有点差别
1)以taotao-manager-pojo为例
File——>new——>module
选maven——>勾选archetype——>选quickstart这项——>点next
继承taotao-manager,填写ArtifactId
这里注意改写路径,点finish,一个子模块创建完成
taotao-manager-pojo的pom.xml
taotao-manager
com.slx
1.0-SNAPSHOT
4.0.0
taotao-manager-pojo
jar
taotao-manager-pojo
http://maven.apache.org
UTF-8
taotao-manager
com.slx
1.0-SNAPSHOT
4.0.0
taotao-manager-dao
jar
taotao-manager-dao
http://maven.apache.org
UTF-8
com.slx
taotao-manager-pojo
1.0-SNAPSHOT
org.mybatis
mybatis
org.mybatis
mybatis-spring
com.github.miemiedev
mybatis-paginator
com.github.pagehelper
pagehelper
mysql
mysql-connector-java
com.alibaba
druid
taotao-manager
com.slx
1.0-SNAPSHOT
4.0.0
taotao-manager-service
jar
taotao-manager-service
http://maven.apache.org
UTF-8
com.slx
taotao-manager-dao
1.0-SNAPSHOT
org.springframework
spring-context
org.springframework
spring-beans
org.springframework
spring-webmvc
org.springframework
spring-jdbc
org.springframework
spring-aspects
org.springframework
spring-context-support
2)taotao-manager-web创建
同样File——>New——>Module
只不过这里选择webapp这项(唯一不同的地方,其他地方类似),点next下一步
同样继承taotao-manager
同样需要改写路径,点击finish,taotao-manager-web子模块创建完成
taotao-manager-web的pom.xml
taotao-manager
com.slx
1.0-SNAPSHOT
4.0.0
taotao-manager-web
war
taotao-manager-web Maven Webapp
http://maven.apache.org
com.slx
taotao-manager-service
1.0-SNAPSHOT
jstl
jstl
javax.servlet
servlet-api
provided
javax.servlet
jsp-api
provided
commons-fileupload
commons-fileupload
taotao-manger-web
5.接下来运行工程使用:tomcat7:run
右上角Edit Configurations
选maven
需要把taotao-parent等需要安装的都安装到本地仓库。
最后运行,如下图所示,就说明跑通了!
总结:
之前看别人的博客,有选择portlet项,自己弄死活跑不通。
taotao-parent,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service选择quickstart那项;
taotao-common,taotao-manager啥都不选;
taotao-manager-web选择webapp那项。
还要注意打包方式,jar,pom,war