一、创建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容器。