文章目录

  • 0、tomcat7-maven-plugin 依赖:
  • 一、tomcat 内嵌到web项目中
  • 1.1、pom.xml 配置
  • 1.2、在IDE 运行项目
  • 1.3、测试
  • 二、将项目部署到远程的tomcat中
  • 2.1、tomcat7的配置
  • 2.2、pom.xml中引用入tomcat7插件
  • 2.3、在IDE中部署到远程的tomcat中
  • 2.4、测试
  • 2.5、使用maven命令部署到远程的tomcat中
  • 三、tomcat7-maven-plugin 常用命令



多年来Maven社区积累了大量的经验,并随之形成了一个成熟的插件生态圈。


Maven官方有两个插件列表:


第一个列表的GroupId 为

org.apache.maven.plugins,这里的插件最为成熟,具体地址为:http://maven.apache.org/plugins/index.html 。

第二个列表的GroupId 为 org.codehaus.mojo ,这里的插件没有那么核心,但也有不少十分有用,其地址为: http://mojo.codehaus.org/plugins.html 。

本文介绍的是tomcat7-maven-plugin的使用

0、tomcat7-maven-plugin 依赖:

<dependency>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</dependency>

一、tomcat 内嵌到web项目中

就是本地部署,将tomcat 内嵌到 web项目中,这样可以直接运行 webapp项目。跟类似spring boot 项目一样,不需要再部署到额外的tomcat,直接就可以运行了。

1.1、pom.xml 配置

<build>
	<plugins>

		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>2.2</version>

			<configuration>				
				<path>/</path> <!--项目访问路径。当前配置的访问是localhost:9090/, 如果配置是/aa,则访问路径为localhost:9090/aa -->
				<port>9090</port>
				<uriEncoding>UTF-8</uriEncoding><!-- 非必需项 -->
			</configuration>
		</plugin>

	</plugins>
</build>

1.2、在IDE 运行项目

配置运行参数 :

maven deploy plugin 发布混淆包_xml

maven deploy plugin 发布混淆包_xml_02

在IDE eclipse 中右键Run As 或 Debug As --> Maven build...
在Goals中输入: clean tomcat7:redeployclean tomcat7:run,点击 Apply 保存设置 ,然后run 或 debug。

如果使用的maven命令,则使用命令: mvn tomcat7:run

1.3、测试

  • 修改项目中的代码;
  • 执行 mvn tomcat7:run ,部署到tomcat中;
  • 访问 http://127.0.0.1:9090/

二、将项目部署到远程的tomcat中

此方式可于开发、测试和部署。

2.1、tomcat7的配置

在tomcat7的 conf/tomcat-users.xml 文件中面配置。
配置 用户、密码、角色和权限。

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui"/>

配置端口号:(此步骤省略)
端口号是 28082

查看tomcat7的主机IP

如: 192.168.1.121。

启动tomcat (此步骤省略)

2.2、pom.xml中引用入tomcat7插件

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>2.2</version>
		
			<configuration>
				<!-- 
				<path>/aa</path>
				<uriEncoding>UTF-8</uriEncoding> 非必选项,可省略 -->

				<url>http://192.168.1.121:28082/manager/text</url>
				<username>tomcat</username>
				<password>tomcat</password>
			</configuration>
		
		</plugin>
	</plugins>
</build>

参数说明:

  • 192.168.1.121 是上一步配置好的 tomcat7 所在主机的IP。如果与项目在同一个主机上,则是localhost或127.0.0.1。
  • 28082 是端口号。
  • <username><password> 是上一步配置好的。

2.3、在IDE中部署到远程的tomcat中

maven deploy plugin 发布混淆包_xml

maven deploy plugin 发布混淆包_xml_02

Goals中输入: clean tomcat7:redeploy,点击run或debug。

控制台输入如下命令:

maven deploy plugin 发布混淆包_tomcat_05


可以看到将当前项目 上传到了远程的tomcat中,发布成功。

2.4、测试

  • 将项目中的代码进行修改后,
  • 执行 clean tomcat7:redeploy 部署到远程的tomcat7。
  • 访问 http://192.168.1.121:28082/项目名称 ,验证内容是否修改成功。

内容省略

2.5、使用maven命令部署到远程的tomcat中

前面是在IDE中部署部署的,也可以直接使用maven 命令部署。

如果使用的maven命令,则是mvn clean tomcat7:redeploy

三、tomcat7-maven-plugin 常用命令

tomcat7-maven-plugin启动 tomcat ,对应的目标命令是: tomcat7:run
同样,其它命令也是这样,需要更改为:tomcat7:<插件执行点>

tomcat7:run   -- 启动嵌入式tomcat ,并运行当前项目
tomcat7:deploy  -- 部署一个web war包
tomcat7:reload  -- 重新加载web war包
tomcat7:start    -- 启动tomcat
tomcat7:stop    -- 停止tomcat
tomcat7:undeploy  -- 停止一个war包

mvn tomcat7:deploy   //第一次
mvn tomcat7:redeploy   //之后

命令纠正:

//第一次
mvn tomcat7:deploy
//之后
mvn tomcat7:redeploy

//这里我要求先重新打包,并跳过测试,再部署

//第一次
mvn package  -Pdevelop -Dmaven.skip.test=true tomcat7:deploy

//之后
mvn package  -Pdevelop -Dmaven.skip.test=true tomcat7:redeploy