Maven已经是Java的项目管理标配,如何在JavaEE开发使用Maven调用Web应用,是很多初始学者关心的问题。本文将介绍,Maven如何介绍Tomcat插件。
运行Maven大概有三种方法:
1、把项目加载到Tomcat中去。
2、以Maven Tomcat插件的形式运行项目。
准备工作
下载安装并配置好Tomcat和Maven。
准备好一个Maven Web项目。
1、直接把项目加载到Tomcat中然后就可以运行
点击Finsh,然后右键Tomcat----> start启动项目,右键index.jsp----> Run AS ----> Run on Server
成功运行index.jsp页面
2、以Maven Tomcat插件的形式运行项目
Maven Tomcat插件现在主要有两个版本,tomcat-maven-plugin和tomcat 6/7-maven-plugin,使用方式基本相同。
tomcat-maven-plugin 插件官网:https://github.com/apache/tomcat-maven-plugin
tomcat7-maven-plugin 插件官网:
http://tomcat.apache.org/maven-plugin.html
https://tomcat.apache.org/maven-plugin-trunk/index.html
2.1、配置Tomcat角色
Maven自动部署实际上调的是Tomcat安装目录下的manager功能。而为了能正常访问http://localhost:8080/manager页面,我们需要修改$TOMCAT_HOME/conf目录下的tomcat-users.xml:
2.2 、修改Maven的settings.xml
在$USER_HOME/.m2目录下找到settings.xml,添加server节点:
上面的username、password依然与tomcat-users.xml中相同,id与2.2中的server相同tomcat tomcat tomcat
2.3 tomcat-maven-plugin 插件使用
配置
在pom.xm 加入以下xml。
org.codehaus.mojo tomcat-maven-plugin 1.1 /platform 8080 UTF-8 http://localhost:8080/manager/html tomcat
注意此时artifactId和version中的信息,此时默认采用的是tomcat6
configuration参数说明:
path ----是访问应用的路径是运行时路径——http://host:port/platform
port ----是tomcat 的端口号
uriEncoding ----URL按UTF-8进行编码,这样就解决了中文参数乱码。
Server ----指定tomcat名称,需要配置maven的settings.xml文件。
url ----指定Tomcat管理页路径。
运行项目:
右键项目-->Run AS --> Run Configurations 以: tomcat:run 运行项目
几个常用的Goal
命令 | 描述 |
tomcat:deploy | 部署一个web war包 |
tomcat:reload | 重新加载web war包 |
tomcat:start | 启动tomcat |
tomcat:stop | 停止tomcat |
tomcat:undeploy | 停止一个war包 |
tomcat:run | 启动嵌入式tomcat ,并运行当前项目 |
点击Run
注:jdk1.8不支持tomcat6运行,推荐使用tomcat7-maven-plugin的方式
2.4 、tomcat7-maven-plugin 插件
配置
两个插件使用方法基本一样,同样需要在pom.xml引用该插件,需要增加以下配置
org.apache.tomcat.maven tomcat7-maven-plugin 2.2 8080 /web UTF-8 web tomcat7
注意此时artifactId和version中的信息,此时默认采用的是tomcat7
运行项目:
插件使用
在这里要注意一下,该插件命名方式有些不同,比如启动tomcat ,对应的目标命令是: tomcat7:run ,同样,其它命令也是这样,需要更改为:tomcat7:<插件执行点>
右键项目-->Run AS --> Run Configurations 以: tomcat7:run 运行项目
点击Run
访问:http://localhost:8080/web/
