自从学习了Maven后,就爱上了它。因为用它开发项目实在是太方便了。
但是一直以来都有个问题困惑着我,那就是怎么在服务器上跑起来。一开始我是用tomcat直接部署,算是最原始的方式了。但是后来发现了一些莫名其妙的问题。后来我就先打成war包,然后自己手动放在tomcat上,然后启动跑起来。我承认实在是太蠢了。所以我就想着能不能自动将Maven工程部署到tomcat上,这样就会方便很多。经过一番学习算是解决了。但是后又回想起在学Maven的时候好像有什么内嵌tomcat服务器。于是又经过了一番学习,也是解决了。现在就记录一下。怎么配置Maven内置tomcat,以及怎么将maven自动部署到远程tomcat上。亲测有效哦!
前提:首先说一下,我使用的是tomcat7,maven3.5。基于web的Maven工程。然后我这个web工程使用的是springmvc配置。你可以使用struts或其他框架。
一、配置Maven内置tomcat,并跑起来web项目
1.配置插件,在你的maven工程的pom.xml中加入
<build>
<finalName>springmvc_deploy</finalName><!-- 这个是maven工程创建的时候自动生成的 -->
<plugins>
<!-- 配置maven的内嵌的tomcat -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>utf8</uriEncoding>
<port>9090</port><!--这个是服务器的端口,自己设置的-->
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
2.跑起来,右键点击工程,然后选择maven build..,然后在输入tomcat7:run,即可启动。
二、自动部署到远程tomcat
1.打开tomcat7 config目录下的tomcat-users.xml然后拉到最下面,配置
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-script"/>
<user username="root" password="root" roles="manager-gui"/></role>
其实是将下面一段注释拿过来改一下。
2..打开tomcat7 config目录下 Catalina\localhost,在里面创建一个manager.xml文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
3.启动tomcat,在地址栏输入http://localhost:8080/manager/html,然后会让你输入用户名密码,这里用户名输入
<user username="root" password="root" roles="manager-gui"/>
里面配置的用户名和密码,如果你成功访问了该网页,那么进行第4步
4.在pom.xml中加入插件
<!-- 自动部署到tomcat的插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<!-- 这里的用户名密码输入<user username="admin" password="admin" roles="manager-script"/>配置的用户名和密码 -->
<username>admin</username>
<password>admin</password>
<update>true</update>
<path>/springmvc_deploy</path><!-- 项目部署的名称 -->
</configuration>
</plugin>
5.启动tomact,右键点击工程,然后选择maven build..,然后在输入tomcat7:delpoy(第一次部署)/tomcat7:redelpoy(已经部署了,修改项目后再次部署)