Maven自动集成Tomact

 

 最近做项目用的是Maven管理的jar包,开发环境用的是elicpse,所以在此分享一下如何让Maven与Tomact自动集成,来把我们的项目打成war包,自动部署到Tomact中。


 1.配置Tomact中Manager访问权限

 由于Tomact中没有配置manager访问权限,所以这里需要在tomcat-users.xml加入用户以及权限。修改Tomact中的apache-tomcat-7.0.39\conf\tomcat-users.xml文件,添加如下信息。

 

<tomcat-users>

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

</tomcat-users>

 在这里小编让admin用户拥有了所有的权限,其实只需要manager-gui和manager-script权限即可


 2.修改Maven中的Settings.xml文件

 需要修改Maven的Settings.xml文件,让Maven也可以自动的访问到Tomact中,在Settings.xml中添加如下信息

 

<server>
		<id>tomcat7</id>
		<username>admin</username>
		<password>admin</password>
	</server>

 上述中的username和password要和context.xml中配置的信息一致


3.添加plugin部署插件

 修改项目中的pom文件,添加插件信息

 

	<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
				    <!-- 此处不可修改 -->
					<url>http://localhost:8080/manager/text</url>
					<!--  此处要和settings.xml中配置的信息一致-->
					<server>tomcat7</server>
					<username>admin</username>
					<password>admin</password>
				</configuration>
			</plugin>

 上述的username和password所描述的信息一定要和settings.xml中的配置信息一致,否则会报错


 4.部署命令

 在部署之前,一定要启动Tomact,否则会报错

 

 找到要部署的工程文件根目录下,执行如下maven命令

  > mvn clean:install             //clean是清理输出文件,install编译打包,在每次打包之前必须执行clean,才能保证发布为最新文件

  > mvn tomcat7:redeploy    //第一次发布 tomcat7:deploy,再次发布 tomcat7:redeploy


 5.错误汇总

 当然了,任何时候都不是一帆风顺的,小编把自己的错误信息给大家分享一下

 5.1 Connection refused错误


  [ERROR]Failed to execute goal org.apache.tomcat.maven: tomcat7-maven-plugin: 2.0- SNAPSHOT: deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]


原因是没有启动Toamct,启动后再执行maven命令



5.2. 401错误


 Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project SpringTest: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2FSpringTest&war=&update=true -> [Help 1]


原因是tomcat-users.xml、Settings.xml以及pom文件中的信息是否一致,不一致的话,会报此错误



 

你可能感兴趣的:(Maven自动集成Tomact)