1. 安装一个完整的 tomcat-7.X
官网下载,解压即可。要完整的主要是为了要 webapps/manager工程,因为它可以提供自动部署的接口。
2. 配置 tomcat-users.xml
在 conf 目录下,在
tomcat-users.xml 文件中声明两个角色,并给一个用户分配这两个角色,如下:
-
<tomcat-users>
-
<role rolename="manager"/>
-
<role rolename="manager-gui"/>
-
<user username="tomcat" password="tomcat" roles="manager,manager-gui"/>
-
</tomcat-users>
这样 tomcat 用户才允许部署工程,也就是上传 war 包。
3. 修改工程的 pom.xml
工程的打包类型必须是 war(
war),不然是没法部署的。并且还需要在 pom.xml 的 build 段加下面配置:
-
-
...
-
-
-
....
-
<!-- TOMCAT热部署插件 -->
-
<plugin>
-
<groupId>org.apache.tomcat.maven</groupId>
-
<artifactId>tomcat7-maven-plugin</artifactId>
-
<version>2.2</version>
-
<configuration>
-
-
<path>/self_help</path>
-
-
<url>http://localhost:8080/manager/html</url>
-
-
<server>tomcat7</server>
-
-
<port>8080</port>
-
</configuration>
-
</plugin>
-
</plugins>
-
</build>
-
</project>
4. 修改 maven 的配置文件 setting.xml
上一步留了个 server 配置没讲,这里要说一下。
<server>tomcat7</server>
这个server 里的值是在 setting.xml 里配置的。配置如下:
-
-
<servers>
-
<server>
-
<id>tomcat7</id>
-
<username>tomcat</username>
-
<password>tomcat</password>
-
</server>
-
-
...
那个 tomcat7 必须与这里的 id 值相同,到时maven才能找到登录用户名和密码。
5. 运行 mvn tomcat:deploy 命令即可。
我遇到的坑:
1. 打包成功,上传成功,没有一点报错,但最后在webapps中没有对应的war包。查看 manager.log 才发现,原来默认配置的上传文件大小最大为50m,我的包有100+m,所以传不上去,修改 webapps/manager/WEB-INF/web.xml中的以下段:
-
<servlet>
-
<servlet-name>Manager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
</servlet>
-
<servlet>
-
<servlet-name>HTMLManager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
<multipart-config>
-
<!-- 50MB max -->
-
<max-file-size>52428800</max-file-size>
-
<max-request-size>52428800</max-request-size>
-
<file-size-threshold>0</file-size-threshold>
-
</multipart-config>
-
</servlet>
这里限制了上传文件大小: <max-file-size>52428800</max-file-size>,修改之。
-
<servlet>
-
<servlet-name>Manager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
</servlet>
-
<servlet>
-
<servlet-name>HTMLManager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
-
<multipart-config>
-
<!-- 50MB max -->
-
<max-file-size>524288000</max-file-size>
-
<max-request-size>524288000</max-request-size>
-
<file-size-threshold>0</file-size-threshold>
-
</multipart-config>
-
</servlet>
-
<servlet>
-
<servlet-name>Manager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
</servlet>
-
<servlet>
-
<servlet-name>HTMLManager</servlet-name>
-
<servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
-
<init-param>
-
<param-name>debug</param-name>
-
<param-value>2</param-value>
-
</init-param>
-
<!-- Uncomment this to show proxy sessions from the Backup manager or a
-
StoreManager in the sessions list for an application
-
<init-param>
-
<param-name>showProxySessions</param-name>
-
<param-value>true</param-value>
-
</init-param>
-
-->
-
<multipart-config>
-
<!-- 50MB max -->
-
<max-file-size>524288000</max-file-size>
-
<max-request-size>524288000</max-request-size>
-
<file-size-threshold>0</file-size-threshold>
-
</multipart-config>
-
</servlet>
阅读(6884) | 评论(0) | 转发(0) |