eclipse+maven部署javaweb项目到远程tomcat8服务器

在使用eclipse做javaee开发的时候,我们通常是在eclipse中建立一个tomcat,然后将项目部署到tomcat下,如果部署到远程,我们需要手动将war包部署到远程服务器的tomcat/webapps目录下,tomcat7-maven-plugin插件让我们可以对maven构建的webapp直接部署到远程服务器,而且无需重启tomcat,这里既可以部署到tomcat7,通过同样的方式,也可以部署到tomcat8上,下面介绍部署过程。

部署过程:

0、部署的前提是有maven web项目,这里略过。

1、设置tomcat8管理用户名和密码。

在tomcat安装目录下conf下的tomcat-users.xml配置文件的tomcat-users节点下新增如下配置。

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

tomcat管理员需要管理app,所需的权限都在这里面。如果后面部署出现403权限问题,基本就是这里的配置有问题。

2、配置部署插件。

这里需要配置远程服务器manager app的地址。然后就是登陆管理界面的用户名和密码。


3、maven build。

项目右键->Run As->Run Configurations。

在配置页面左侧,选择Maven Build并新建一个配置 launch configuration,指定项目位置,在Goals处输入compile tomcat7:deploy。如下图所示:


如果是第二次部署,可以将Goals改为 compile tomcat7:redeploy。

选择Run,然后等待部署,第一次会从仓库下载依赖jar包。会比较慢,部署成功,会打印如下信息:

[INFO] Processing war project
[INFO] Copying webapp resources [E:\workspace\web-parent\web-controller\src\main\webapp]
[INFO] Webapp assembled in [58 msecs]
[INFO] Building war: E:\workspace\web-parent\web-controller\target\web-controller.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO] 
[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ web-controller <<<
[INFO] 
[INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ web-controller ---
[INFO] Deploying war to http://10.119.9.149:8080/web-controller  
Uploading: http://10.119.9.149:8080/manager/text/deploy?path=%2Fweb-controller
Uploaded: http://10.119.9.149:8080/manager/text/deploy?path=%2Fweb-controller (95 KB at 2309.1 KB/sec)

[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /web-controller
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.400 s
[INFO] Finished at: 2018-06-28T16:22:26+08:00
[INFO] Final Memory: 16M/260M
[INFO] ------------------------------------------------------------------------

tomcat8服务器部署日志:

28-Jun-2018 16:22:18.976 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
28-Jun-2018 16:22:18.983 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
28-Jun-2018 16:22:18.987 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 611 ms
28-Jun-2018 16:23:31.596 INFO [http-nio-8080-exec-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /home/hadoop/software/tomcat8/webapps/web-controller.war
28-Jun-2018 16:23:31.628 INFO [http-nio-8080-exec-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
28-Jun-2018 16:23:31.630 INFO [http-nio-8080-exec-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /home/hadoop/software/tomcat8/webapps/web-controller.war has finished in 34 ms

tomcat8 webapps目录下新增加的web-controller.war以及部署成功之后的web-controller文件夹。

4、访问部署的项目首页。

访问项目地址http://10.119.9.149/web-controller/,会出现helloworld。


5、部署注意事项:

有可能在部署的时候出现:403 Access Denied,回顾第一步和第二步配置,tomcat需要配置用户名,密码,用户角色,另外pom.xml配置文件也需要做配置。

说说这种部署:通常,我们部署项目到远程服务器,甚至生产环境服务器,都是需要登录到远程服务器,这时候的用户名和密码不是tomcat的用户名和密码,而是相对隐私的东西,我们如果越过这层方式部署,会存在一定的风险。一个开发组里面,谁都可以这么部署,但是通过登录服务器的方式,每个人都有自己的账号,或者很少人有账号,会降低不少风险。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值