在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以上的各个层。
项目结构如下:
mBlindDates
|----pom.xml
|----system_domain
|----pom.xml
|----system_dao
|----pom.xml
|----system_service
|----pom.xml
|----system_web
|----pom.xml
创建mBlindDates,用来给各个子模块继承。
如下图所示:
命令执行完成之后可以看到在当前目录(C:\Documents and Settings\Administrator)生成了mBlindDates目录,里面有一个src目录和一个pom.xml文件,将src文件夹删除,然后修改pom.xml文件,将
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cmbcb
mBlindDates
1.0-SNAPSHOT
pom
mBlindDates
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
在创建好的mBlindDates目录,右键 -> New -> Module:
跟【创建mBlindDates】中流程一致。
命令执行完成之后可以看到在mBlindDates目录中生成了system_domain,里面包含src目录和pom.xml文件。
同时,在mBlindDates目录中的pom.xml文件自动添加了如下内容:
system_domain
这时,mBlindDates的pom.xml文件如下:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cmbcb
mBlindDates
1.0-SNAPSHOT
system_domain
pom
mBlindDates
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
修改system_domain目录中的pom.xml文件,把
修改过后的pom.xml文件如下:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
mBlindDates
com.cmbcb
1.0-SNAPSHOT
4.0.0
system_domain
jar
system_domain
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
在创建好的mBlindDates目录,右键 -> New -> Module::
跟【创建mBlindDates】中流程一致。
命令执行完成之后可以看到在mBlindDates目录中生成了system_dao,里面包含src目录和pom.xml文件。如下图所示:
同时,在mBlindDates目录中的pom.xml文件自动变成如下内容:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cmbcb
mBlindDates
1.0-SNAPSHOT
system_domain
system_dao
pom
mBlindDates
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
修改system_dao目录中的pom.xml文件,,把
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
mBlindDates
com.cmbcb
1.0-SNAPSHOT
4.0.0
system_dao
jar
system_dao
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
com.cmbcb
system_domain
${project.version}
在创建好的mBlindDates目录,右键 -> New -> Module::
跟【创建mBlindDates】中流程一致。
命令执行完成之后可以看到在mBlindDates目录中生成了system_service,里面包含src目录和pom.xml文件。如下图所示:
同时,在mBlindDates目录中的pom.xml文件自动变成如下内容:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cmbcb
mBlindDates
1.0-SNAPSHOT
system_domain
system_dao
system_service
pom
mBlindDates
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
修改system_service目录中的pom.xml文件,,把
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
mBlindDates
com.cmbcb
1.0-SNAPSHOT
4.0.0
system_service
jar
system_service
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
com.cmbcb
system_dao
${project.version}
在创建好的mBlindDates目录,右键 -> New -> Module::
如下图所示:
命令执行完成之后可以看到在mBlindDates目录中生成了system_web,里面包含src目录和pom.xml文件。
在\system_web\src\main\webapp目录中还生成了一个简单的index.jsp。
在system_web\src\main\webapp\WEB-INF目录中生成了web.xml。如下图所示:
里面的内容为
<html> <body> <h2>Hello World!h2> body> html>
同时,在mBlindDates目录中的pom.xml文件自动变成如下内容:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cmbcb
mBlindDates
1.0-SNAPSHOT
system_domain
system_dao
system_service
system_web
pom
mBlindDates
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
修改system_web目录中的pom.xml文件,,把
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
mBlindDates
com.cmbcb
1.0-SNAPSHOT
4.0.0
system_web
war
system_web Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
com.cmbcb
system_service
${project.version}
system_web
注意,web项目的打包方式是war。
经过上面的五个步骤,相关的模块全部创建完成,怎么运行起来呢。由于最终运行的是system-web模块,所以我们对该模块添加jetty支持,方便测试运行。修改system-web项目的pom.xml如下:
1 xml version="1.0"?> 2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4 <modelVersion>4.0.0modelVersion> 5 <parent> 6 <groupId>com.cmbcbgroupId> 7 <artifactId>mBlindDatesartifactId> 8 <version>1.0-SNAPSHOTversion> 9 parent> 10 11 <artifactId>system_webartifactId> 12 <packaging>warpackaging> 13 14 <name>system-web Maven Webappname> 15 <url>http://maven.apache.orgurl> 16 <dependencies> 17 20 <dependency> 21 <groupId>com.cmbcbgroupId> 22 <artifactId>system_serviceartifactId> 23 <version>${project.version}version> 24 dependency> 25 dependencies> 26 project>
在命令行进入system-parent目录,然后执行下列命令:
mvn clean install
如下图所示:
命令执行完后,在system-web目录下多出了target目录,里面有了system-web.war,如下图所示:
命令行进入sytem-web目录,执行如下命令,启动jetty
mvn jetty:run
如下图所示:
启动jetty服务器后,访问http://localhost:8080/system-web/ 运行结果如下图所示:
操作步骤如下所示: