08 使用Maven构件Web应用
一、创建web项目
可以使用maven-archetype-webapp来创建一个最简单的web应用。
?
?
二、web项目配置
<modelVersion>4.0.0</modelVersion><groupId>com.test</groupId><artifactId>demo</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>demo</finalName></build>
?
这个pom文件有两个特殊地方,一是打包类型为war,二是有finalName元素。因为默认生成的war由artifactId和version等构成,可以手动指定生成war包的名称。
?
?
三、使用jetty-maven-plugin测试
在进行web开发时,总是不可避免的要打开浏览器进行测试,此时就需要将项目发布到应用服务器。可能使用jetty-maven-plugin插件来简化部署。
传统的web测试要求我们编译、测试、打包及部署,而使用jetty-maven-plugin能够周期性检查项目内容,发现变更后自动更新到内置的Jetty Web容器中。
在pom.xml中指定插件,如:
<plugins><plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>7.1.6.v20100715</version><configuration><scanIntervalSeconds>10</scanIntervalSeconds><webAppConfig><contentPath>/test</contentPath></webAppConfig></configuration></plugin></plugins>
?
另外,jetty-maven-plugin并不是官方插件,如果想在命令行中使用插件前缀。需要配置settings.xml,如:
<pluginGroups> <pluginGroup>org.mortbay.jetty</pluginGroup> </pluginGroups>
?
启动使用mvn jetty:run,Jetty的默认端口是8080,可指定其他端口,如:mvn jetty:run -Djetty.port = 7777
停止使用mvn jettyp:stop。
?
?
三、使用Cargo实现自动部署
Cargo可用于自动化部署,它几乎支持所有的Web容器。
?