用maven构建web项目,首先要知道标准的目录结构,和一般的maven项目相同,源文件存放在src/main/java中,配置文件存在src/main/resources目录下。测试的代码放在src/test/java下,
对应的资源文件放在src/test/resources目录下。除了这些目录外。web项目还有一个src/main/webapp目录,该目录必须存在,且必须有一个web.xml文件,用于对整个web项目的配置。
如maven-web-demo这个项目实例。该项目的目录结构如下图所示:
[size=medium]为了web项目的部署,该项目的打包方式必须显示声明为war方式,因为maven默认的打包方式为jar。
还有pom文件中必须引入servlet,jsp的相关jar包,scope设置为provided,表示它们最终不会打包到war项目中。因为几乎所有的web容器都提供有javax.servlet相关的jar包,如果war包中重复出现
就会出现版本冲突的错误。
为了测试web项目,可以使用jetty插件,需要在pom文件中给出相应的配置。[/size
]<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/test</contextPath> <!-- http://host:port/test/ -->
</webAppConfig>
</configuration>
</plugin>
contextPath用于配置url的路径,该实例访问的url为http://host:port/test/.
为了能在命令行上启动jetty,并部署web项目,必须配置maven的settings.xml。添加如下语句即可。
<pluginGroup>org.mortbay.jetty</pluginGroup>
在命令行下输入mvn jetty:run启动并部署web项目。然后在浏览器中即可访问。
整个maven配置文件pom.xml如下:
<project 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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>maven-web-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/test</contextPath> <!-- http://host:port/test/ -->
</webAppConfig>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api </artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId> org.springframework </groupId>
<artifactId>spring-web</artifactId>
<version>2.5.6</version>
</dependency>
</dependencies>
</project>
除了用jetty测试,还可以使用cargo进行自动化部署,如部署到本地的web容器中,主要是在pom文件中进行配置。内容如下:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0</version>
<configuration>
<container>
<containerId>Tomcat6x</containerId>
<home>D:\software installs\Tomcat6.0</home>
</container>
<configuration>
<type>standalone</type>
<home>${project.build.directory}/Tomcat6x</home>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
- 大小: 11.1 KB
分享到:
相关推荐
使用Maven构建JavaWeb项目实例
Maven 构建SpringMVC项目学习笔记 一、背景介绍 二、构建工程 2.1、用maven插件构建项目框架 2.2、完善项目 2.3、将工程变成web工程 三、工程SpringMVC配置 3.1 赋予工程的springmvc特性 3.2、添加Maven依赖 四、...
第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.4 命令行生成的web项目原型 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.1 自定义项目原型结构组成 第13章:使用Maven生成项目原型/13.2 ...
通过一个使用Spring、Spring Boot和Spring Cloud的小例子来说明如何构建微服务系统。 具体请看附件文件中的:readme.txt 和 [译]Spring构建微服务.png 访问地址:http://localhost:1111/ 运行顺序:...
自己写的一个maven管理的spring+struts2+ibatis+velocity实例。项目已经打包好了,直接导入部署即可。
该项目由maven构建的web项目,实例简单,无数据库连接操作
gradle的多模块或项目开发一定不会比maven差,在我看来!大的项目分成多个模块来开发是常事.下文就介绍一下怎么用gradle开发多模块项目.对于gradle,在Eclipse和IDEA开者之间,毫无疑问选择IDEA作为IDE. testweb是一个...
本文通过实例讲述Grails与Maven集成的各种方法,使读者可以学会使用Maven对Grails项目进行构建。Grails简介:Grails是一个开源的Web开发框架,它采用动态语言Groovy进行开发,并且可以和用Java开发的项目进行集成。...
Apache Maven项目构建工具 v3.8.7 HertzBeat 赫兹跳动 v1.2.3 Jpom项目监控软件 v2.10.6 kkFileView在线预览 v4.1.0 SMQTTX v2.0.6 SMQTTX v1.1.6 wenku 类似百度文库的实例 v1.0 ofdrw读写库 v1.20.2 XXL-API 易用...
使用 Maven 构建并运行本地 Jetty Web 服务器 项目在 Apache Maven 上运行 要启动本地服务器,请输入mvn compile package jetty:run并导航到 单元测试 输入mvn test运行单元测试 截图 联系表格应用主页 添加新车 ...
将让人烦恼的Web应用程序添加到VMware vFabric tc Server实例启动服务器使用其他应用程序服务器git clone 使用maven命令构建war文件将生成的war文件部署到其他Web应用程序服务器,例如Tomcat 启动服务器可以通过...
wro4j 1.7.2 为 maven 插件增加多个上下文的文件夹,linter goals 支持增量构建,更新了 jruby、emberjs 等。 wro4j是一个Web资源优化工具。众所周知,到服务器加载一个大的文件比加载两个小的文件快,因为会...
“构建”使用springboot maven插件构建一个胖罐,该胖罐包含后端和Web依赖项要求JDK 1.8 行家 3.2.x如何构建和使用它从父文件夹 mvn clean package此步骤还执行 nodejs 项目的完整构建,并将生成的文件添加到类路径...
Java实例介绍所有这些项目都是使用Maven3构建的。记录器和模式 :使用记录 :使用异常的示例固定装置:TODO 建造者:TODO测试框架 :使用Assertj的示例(测试框架) :使用Mockito的示例(测试框架) :使用OpenPojo...
Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTfulWebservice。此外Jersey还提供一些额外的API和扩展机制,所以开发人员能够按照自己的需要对Jersey进行扩展理论的东西在这里我就不多说了!这个实例是实现了REST的...
这是什么该示例包括: README.md-此文件appspec.yml-将Web服务部署到EC2时,AWS CodeDeploy使用此文件buildspec.yml-AWS CodeBuild使用此文件来构建Web服务pom.xml-该文件是Web服务的Maven项目对象模型src / main-此...
buildspec.yml-AWS CodeBuild使用此文件来构建Web服务 pom.xml-该文件是Web服务的Maven项目对象模型 src / main-此目录包含您的Java服务源文件 src / test-此目录包含您的Java服务单元测试文件 scripts /-此目录包含...