记录一下idea远程tomcat运行项目的配置过程

背景:每次系统修改代码后则需手动打包手动部署到测试服务器上,为了简化这个过程我这里选择尝试一次idea的远程运行功能,结论来讲这玩意配置麻烦,并不算很好用,只是部署的话,还是Jenkins之类的自动化工具更合适。

远程机:安装有tomcat

本地机:顾名思义,开发用的装有idea的机器

系统均为windows7,tomcat为8.5

远程机:

tomcat默认项目路径是webapps,首先不建议继续使用这个路径,为server.xml下/Server/Engine/Host@appBase指定一个新路径,然后将其设置为共享文件夹用于给本地机传包,idea有好几种方式可用于传包,这里我选择windows自带的共享文件夹方式,ftp也可以这里我就不多说了。

接下来修改tomcat启动参数,首先明确一点,windows下tomcat有2种常见启动方式,1是startup.bat,2是tomcat8.exe以服务方式启动。

用方法1启动则需要添加setenv.bat文件设置CATALINA_OPTS,内容为set CATALINA_OPTS=...

如果使用第二种方式启动则需要使用tomcat8w.exe在Java下的Java Options后添加启动参数,注意这种方式需要注意服务名称,如果服务名称为Tomcat8那么没有问题,如果为自定义名称则需要重命名tomcat8w.exe为${自定义名称}w.exe,例如我把服务名改为tomcat666那么我就需要重命名tomcat8w.exe为tomcat666w.exe

启动参数内容可以在idea帮助文档中查到。

-Dcom.sun.management.jmxremote=

-Djava.rmi.server.hostname=<host>

-Dcom.sun.management.jmxremote.port=<port>

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

host为远程机的ip,port为jmx port,自定义,注意不要被占用。

然后启动tomcat。

以上,远程机的准备就做完了。

本地机:

首先,因为我们使用的是共享文件夹方式来传输,本地机需要挂载共享文件夹为网络驱动器,win7下右键计算机选择映射网络驱动器,这里我将其映射到X盘,成功后计算机下会多出一个X盘。

接下是idea配置

首先新建一个tomcat-remote运行项



修改localhost为远程机的ip地址,JMX port设置为先前在tomcat配置好的端口,然后修改type为local or mounted folder,意思为本地或挂载文件夹,之后的host需要手动添加先前映射的X盘,path from root可以为空,如果共享的文件夹不是tomcat的appBase则需要填此项,注意mapped as为指定文件夹对于远程机的本地路径,比如远程机共享了D:\artifacts文件夹,而path from root为空,则这一栏就应该填D:\artifacts,如果path from root为webapps,则这一栏就应该为D:\artifacts\webapps,之后运行时会把编译好的项目放到这里。

之后再在Deployment中添加artifact,这里就不多赘述了。

接下来就应该可以编译运行了,如果artifact选择的war包则需要先用maven打好包再运行。注意远程机的tomcat必须为启动状态。

以上就是使用远程tomcat运行项目的配置过程,实际使用时时常会报错,此时清一下共享文件夹再运行一次多半就解决了,注意这个就算运行stop后tomcat也不会真的stop,所以可以用来远程部署。

以上只是远程运行的配置,如果需要远程debug还需做额外配置。在远程机tomcat运行参数中添加如下参数即可

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

idea远程tomcat运行项目的更多相关文章

  1. Eclipse版本推荐(tomcat运行项目:web、maven)

    1.区别 Eclipse根据特性和jdk版本,从Eclipse官网可看到,分为:Neon/Oxygen/Mars/Luna/Kepler/Juno/Indigo/Helios...等等. Eclips ...

  2. Jfinal本地eclipse+tomcat运行项目时候遇到错误Exception starting filter

    今天想在本地eclipse上启动tomcat让项目在本地运行,但是老是报错类找不到异常. 也可能报其它错误,大概都是classNotFoundException. 九月 19, 2018 5:42:2 ...

  3. 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况

    服务端CentOS6.4 x64安装的是jdk1.7 下载visualVM1.3.8-ml 也就是多语言版本,包含中文,界面用起来方便.官方下载地址比较慢,百度上搜索的都是csdn,51cto等必须登 ...

  4. Intellij IDEA 远程debug、远程tomcat部署项目

  5. eclipse配置tomcat运行项目访问不加项目名

  6. eclipse配置apache tomcat运行时访问路径不需要项目名称

    问题:tomcat运行项目默认是要带上项目名的,有时候不想要项目名来访问,如何解决呢? 方法: 1:双击打开tomcat 2:选择Modules,选择你要修改的项目 3:点击Edit,把path修改成 ...

  7. Eclipse------用Tomcat运行项目后出现:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener

    Eclipse中Tomcat运行项目后出现: 严重: Error configuring application listener of class org.springframework.web.c ...

  8. Jenkins进阶-部署Web项目到远程tomcat(7)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  9. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

随机推荐

  1. Linux查询进程和结束进程

    1.  ps -ef |grep redis ps:将某个进程显示出来-A 显示所有程序. -e 此参数的效果和指定"A"参数相同.-f 显示UID,PPIP,C与STIME栏位. ...

  2. 详解Linux双网卡绑定之bond0

    1.什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及以后的版本均供bonding模块 ...

  3. SpringCloud(6)分布式配置中心Spring Cloud Config

    1.Spring Cloud Config 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组 ...

  4. python批量修改linux主机密码

    +++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...

  5. windows 比较文件命令--fc

    dos环境下的比较文件命令 win7帮助 D:\test>fc /? 比较两个文件或两个文件集并显示它们之间 的不同 FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LI ...

  6. git revert用法以及与git reset的区别

    git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD     ...

  7. Python——Flask框架——电子邮件

    一.框架(Flask-Mail) 安装 : pip install flask-mail 二.SMTP服务器的配置 配置 默认值 说明 MAIL_SERVER locallhost 电子邮件服务器的主 ...

  8. 四、Java多人博客系统-2.0版本

    由于时间关系,多人博客系统这里穿插一个2.0版本. 2.0版本本来是打算用于建立个人网站,但是后来发现个人建站需要购买域名服务器,还需要备案,很繁琐.最终放弃.完成此版本,最终也只是作为技术演练.此版 ...

  9. 【Android O】 Service AAA does not have a SELinux domain defined

    在init.AAA.rc里面添加了一个脚本启动的服务: service AAA /vendor/bin/sh /vendor/etc/AAA_spec.sh user root group root ...

  10. mpvue——小程序修改input的placehold样式

    前言 官方地址 https://developers.weixin.qq.com/miniprogram/dev/component/input.html 用placeholder-class的时候没 ...