(1)疑问:
我们为什么要将一个工程分成几块?
方便,便于扩展,清晰。
各类用户对软件的要求越来越高,软件本身变得越来越复杂。因此,软件设计人员会采用各种方式对软件划分模块,以得到更清晰的设计及更高的重用性。
划分不同的工程,有很多好处,抽取公用部分,减少代码维护工作。比如,几个web共同依赖service,service可以在不同的平台上使用。
(2)项目工程搭建:
①搭建ad2-service
出现错误,错误原因:eclipse未配置maven插件,配置完成后,工程成功创建。
②搭建ad2-web工程并修改成web工程,Project Facets 选中 Dynamic web module 和 java。
针对ad2-web工程建立新的resource文件夹。使用Deployment Assembly 修改编译路径。
为ad2-web 添加依赖,修改其pom.xml文件,添加
< dependency>
<groupId>**</groupId>
<artifactId>ad2-service</artifactId>
<version>**</version>
</ dependency >
依赖于ad2-service。
修改ad2-web的打包方式为war
<packaging>war</packaging>
③建立parent工程,对所有工程进行管理:
删除parent工程中的多余文件,修改build pahth 删除多余jar
修改pom文件, 添加了两个子模块。
<packaging>pom</packaging>
<modules>
<module>
***
</modile>
<module>
***
</modile>
</modules>
出现问题:
执行maven install 出现问题:找不到web.xml,发现ad2-web无web.xml,为其添加后,naven install成功。
④创建测试文件:
TestServlet.java
发现未引用servlet-api的jar。使用pom引入
< dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</ dependency >
创建index.js,放置在编译目录的根目录下。
配置web.xml
<servlet>
<servlet-name>test</servlet>
……
</servlet>
<servlet-mapping>
……
</servlet-mapping>
⑤使用tomcat6进行部署。出现问题:ad2-web的Dynamic web module版本过高,修改为2.5版后成功部署。
(3)其他问题:
关于parent工程的作用:
使用一个parent(实际只包含一个pom文件),
①来管理子模块的maven命令的执行。
②来消除字模块中重复的pom配置。