一、环境
本教程使用的环境如下
idea 2017
tomcat 8.5
centos 7
maven 3.5
注意:tomcat6 和 tomcat7、8、9会有一些区别,下面会详细介绍
二、配置【只需完成下面三步】
1、Tomcat 服务器配置
如果不了解 Tomcat 的安装,参考 http://blog.csdn.net/android_ztz/article/details/79249467
找到[tomcat安装的根路径]/conf/tomcat-users.xml 文件,编辑如下:
1 | <tomcat-users xmlns="http://tomcat.apache.org/xml" |
role标签都是定义权限,user标签定义的是用户,usernme和password都是自定义的,roles是赋予该用户的权限。
测试配置是否成功
在浏览器中访问 http://yourIp:port/manager/text (tomcat 7、8、9) ;
http://yourIp:port/manager/html (tomcat 6)
如果出现输入账户和密码的弹框,表示成功。
但是有可能会出现 【管理页面403 Access Denied】错误,详情见下面问题2:
【修改Tomcat端口号-默认是8080】
如果需要修改,找到[tomcat安装的根路径]/conf/server.xml ,找到这一段。
1 | <Connector port="8080" protocol="HTTP/1.1" |
只需修改port的值即可。
二、配置Maven
打开[Maven的安装路径]/conf/setting.xml文件 ,找到这一段
1 | <servers> |
id : tomcat+版本号
username : 在Tomcat配置的用户名
password : 在Tomcat配置的密码
三、使用idea新建一个Maven项目,打开自动生成的pom文件,配置如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
最主要的配置就是
finalName:项目名
server: 服务器名和版本
username: 和tomcat、maven中保持一致
password:和tomcat、maven中保持一致
port:需要部署到的端口,要和服务器配置的端口一致
path:访问项目的路径
其他就可以和上面保持一致。
现在已经完成了所有的配置,那么就开始测试一下能否部署成功,在idea 中点击右栏[Maven标签]
双击【tomcat7:deploy】完成部署,查看控制台信息
—————————————- 华丽 ——————————————–
遇到的问题1:
Tomcat已启动,内网可以访问,但是外网不可以访问。
答 : 这很有可能是防火墙阻止了浏览器的访问。
解决方式:
centos7使用的防火墙是 firewall 而不是 iptables 可以开要访问的端口,先查看一下防火墙状态: firewall-cmd –state , 结是running 或者 not running , 建议running状态下添加开放端口。 比如需要访问的是8080端口,则可以这样
1 | firewall-cmd --permanent --zone=public --add-port=8080/tcp # --permanent 表示永久添加;去掉标识临时,重启后恢复 |
如果出现 8080/tcp 表示成功 。
需要了解firewall更多,点击这里。
遇到的问题2:
管理页面403 Access Denied
这说明你没有权限访问,
解决方式:
打开/webapps/manager/META-INF/目录下context.xml文件,将下面这段注释掉或者修改为下面这段。
1 | <Valve className="org.apache.catalina.valves.RemoteAddrValve" |
原因是: \d+.\d+.\d+.\d+ 标识任访问,如果不添加这个,则只允许前面两种类型IP访问,allow中是用正则表达式来表示的。
遇到的问题3 :
[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: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2Fhelloworld -> [Help 1]
该错误是在部署时出现的,是由于权限问题,可能是你的 tomcat-users.xml中user的权限不够,也可能是你的idea中pom文件的用户名和密码错了。
转载自:https://blog.csdn.net/android_ztz/article/details/79249335