很久没用springmvc的框架容易忘记maven中使用tomcat的内置到项目中启动和打包。
多年来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 依赖:
<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,直接就可以运行了。
2.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>
2.2、在IDE 运行项目
配置运行参数 :
在IDE eclipse 中右键Run As 或 Debug As --> Maven build... ,
在Goals中输入: clean tomcat7:redeploy 或 clean tomcat7:run,点击 Apply 保存设置 ,然后run 或 debug。
如果使用的maven命令,则使用命令: mvn tomcat7:run。
2.3、测试
修改项目中的代码;
执行 mvn tomcat7:run ,部署到tomcat中;
访问 http://127.0.0.1:9090/ 。
三、将项目部署到远程的tomcat中
此方式可于开发、测试和部署。
3.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 (此步骤省略)
3.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>
是上一步配置好的。
3.3、在IDE中部署到远程的tomcat中
Goals中输入: clean tomcat7:redeploy
,点击run或debug。
控制台输入如下命令:
可以看到将当前项目 上传到了远程的tomcat中,发布成功。
3.4、测试
将项目中的代码进行修改后,
执行 clean tomcat7:redeploy 部署到远程的tomcat7。
访问 http://192.168.1.121:28082/项目名称 ,验证内容是否修改成功。
内容省略
3.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