maven学习笔记(4)--web项目

来源:互联网 发布:matlab数组 编辑:程序博客网 时间:2024/06/06 01:33

web项目

在建立了acount-captcha,account-email,account-persist三个独立模块后,建立account-service模块,它将依赖前三个模块,为account-web层提供接口,pom.xml中要加入三个模块的引用:

<dependencies><dependency><groupId>${project.groupId}</groupId><artifactId>account-email</artifactId><version>${project.version}</version></dependency><dependency><groupId>${project.groupId}</groupId><artifactId>account-persist</artifactId><version>${project.version}</version></dependency><dependency><groupId>${project.groupId}</groupId><artifactId>account-captcha</artifactId><version>${project.version}</version></dependency></dependencies>

然后是建立account-web模块,配置如下:

<?xml version="1.0"?><projectxsi: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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jacky.mavenexamples.account</groupId><artifactId>account-parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../account-parent/pom.xml</relativePath></parent><artifactId>account-web</artifactId><packaging>war</packaging><name>Account Web</name><dependencies><dependency><groupId>${project.groupId}</groupId><artifactId>account-service</artifactId><version>${project.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.4</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId></dependency></dependencies><build><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build></project>

这里的打包方式是war,jsp和servelet的依赖范围都是provided,因为要部署到web容器中,运行时不需加入。

既然是web项目,自然少不了页面资源,maven规定这些页面资源和web.xml应当放在webapp目录中:


这样就可以将account-web部署到tomcat中了,效果图:


至此整个案例结束。书中还介绍了很多相关知识,如maven私服软件nexus,持续集成软件hudson,使用maven插件来进行subversion版本管理,这些都能高度自动化日常工作。我目前的工作还是比较粗放型的,基本都是靠手动,以后项目中能够应用到当然最好,碰到时再仔细研究吧。手动虽然貌似省事不用动脑子,在项目结构变得复杂时会很头疼,项目的质量也很堪忧。自动化虽然很好,却要花费功夫学习和搭建,但从长远看对大型项目仍然是非常值得的。


0 0
原创粉丝点击