maven tomcat7 部署

假如想象 提交于 2019-12-07 19:40:59

最近在使用maven,顺便尝试了下tomcat部署。


首先,要使用maven支持tomcat的插件。我这里用的是tomcat7,所以只用了7的,6的话同理。

pom.xml里:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>tomcat</server>
        <username>tomcat</username>
        <password>lsr</password>
    </configuration>
</plugin>

其中,url最后必须为text,一般为html,但是tomcat7必须为text。


其次,要在maven的setting.xml(这个是自定义使用的默认位置还是安装目录位置)文件里配置这个服务器,也和上面的server名字一致,也就是“tomcat”。

<servers>
    <server>  
       <id>tomcat</id>  
       <username>tomcat</username>  
       <password>lsr</password>  
    </server>
</servers>


下来,就要配置对应tomcat里的用户信息,用户名和密码必须与上面配置的相同。在tomcat-users.xml里:

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


最后就是,配置项目的运行参数: (默认IDE里集成的不需要加mvn,如果是在cmd下的话就要加mvn)。

如:

cmd下

mvn clean package tomcat7:deploy

IDE下运行的参数,直接只有后面的部分:

clean package tomcat7:deploy


最后,就是运行后,如果没有提示失败,就ok了,直接访问。


PS:其中在这个过程中遇到了两个明显问题,一个是401,一个是403。

401:基本上是用户名或者密码配置的不正确。

403:有两种情况,

    1):pom里配置的url后缀是html,而不是text。这种是6的格式,7不能用,后缀只能是text。

<url>http://localhost:8080/manager/html</url>

    2):tomcat用户的权限配置不正确。按文中配置就ok。

还有就是,tomcat要先启动,不要用IDE启动,手动运行tomcat的startup.bat/sh。

OK了。


还有就是,如果运行时提示,已经有项目存在而部署失败,可以用这个命令

mvn clean package tomcat7:redeploy
clean package tomcat7:redeploy

这样就ok了。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!