Maven已经是Java的项目管理标配,如何在JavaEE开发使用Maven调用Web应用,是很多同学关心的问题。本文将介绍,Maven如何介绍Tomcat插件。
Maven Tomcat插件现在主要有两个版本,tomcat-maven-plugin和tomcat7-maven-plugin,使用方式基本相同。其使用也只能针对当前应用有效。
tomcat-maven-plugin 插件官网:http://mojo.codehaus.org/tomcat-maven-plugin/plugin-info.html。
tomcat7-maven-plugin 插件官网:http://tomcat.apache.org/maven-plugin.html。
tomcat7-maven-plugin 使用(常用)
配置
在pom.xm 加入以下xml。
<build> <!-- 配置了很多插件 --> <plugins> <!-- 编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>80</port> <path>/SSM</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin> </plugins> </build>
注意上面有底色部分,简要说明一下:
path 是访问应用的路径,例如我上面写的是/SSM,则访问路径是 http://localhost/SSM
port 是tomcat 的端口号
uriEncoding URL按UTF-8进行编码,这样就解决了中文参数乱码。
Server 指定tomcat名称。
IDEA插件运行(重点)
(1)如果在pom.xml中配置了Tomcat插件,在右边的Maven Project中会出现对应的插件,例如:
pom.xml:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>80</port> <path>/SSM</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin>
(2)此时运行的时候只需要右击右边的命令,然后可以以run模式或者debug模式启动项目,debug模式可以打断点进行调试
或者:
点击Run-》Edit Configurations后搜索maven
启动之后访问项目即可
IDEA使用小结:
1.运行之后可以点击上面的箭头然后点击Save.... 将运行方式保存起来,下次选择相应的命令然后点击右边的运行按钮(三角)或者调试按钮(虫子)即可以对应的模式运行命令。
(1)save之前:
(2)save之后选择对应运行的命令然后以对应模式启动即可:
(3)通过三角或虫子上的小绿点可以判断是以哪种模式启动的:
2.如果项目中加上tomcat-maven-plugin插件发现点击右边的maven projects也会多出此插件:
例如下面配置集成了两个tomcat插件:
pom.xml
<build> <!-- 配置了很多插件 --> <plugins> <!-- 编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- tomcat6插件 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <path>/SSM</path> <port>8080</port> <uriEncoding>UTF-8</uriEncoding> <server>tomcat6</server> </configuration> </plugin> <!-- tomcat7插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>80</port> <path>/SSM</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin> </plugins> </build>
发现右边会两个插件同时出现,也就是右边的插件随pom.xml变动,此时选择对应的插件运行即可
下面介绍几个常用的Goal
命令 描述
tomcat7:deploy 部署一个web war包
tomcat7:reload 重新加载web war包
tomcat7:start 启动tomcat
tomcat7:stop 停止tomcat
tomcat7:undeploy 停止一个war包
tomcat7:run 启动嵌入式tomcat ,并运行当前项目
tomcat-maven-plugin 插件使用
配置
在pom.xm 加入以下xml。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <path>/wp</path> <port>8080</port> <uriEncoding>UTF-8</uriEncoding> <server>tomcat6</server> </configuration> </plugin>
具体配置一样。
插件使用
在这里要注意一下,该插件命名方式有些不同,比如启动tomcat ,对应的目标命令是: tomcat:run ,同样,其它命令也是这样,需要更改为:tomcat:<插件执行点>