idea远程tomcat运行项目
记录一下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运行项目的更多相关文章
- Eclipse版本推荐(tomcat运行项目:web、maven)
1.区别 Eclipse根据特性和jdk版本,从Eclipse官网可看到,分为:Neon/Oxygen/Mars/Luna/Kepler/Juno/Indigo/Helios...等等. Eclips ...
- Jfinal本地eclipse+tomcat运行项目时候遇到错误Exception starting filter
今天想在本地eclipse上启动tomcat让项目在本地运行,但是老是报错类找不到异常. 也可能报其它错误,大概都是classNotFoundException. 九月 19, 2018 5:42:2 ...
- 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况
服务端CentOS6.4 x64安装的是jdk1.7 下载visualVM1.3.8-ml 也就是多语言版本,包含中文,界面用起来方便.官方下载地址比较慢,百度上搜索的都是csdn,51cto等必须登 ...
- Intellij IDEA 远程debug、远程tomcat部署项目
- eclipse配置tomcat运行项目访问不加项目名
- eclipse配置apache tomcat运行时访问路径不需要项目名称
问题:tomcat运行项目默认是要带上项目名的,有时候不想要项目名来访问,如何解决呢? 方法: 1:双击打开tomcat 2:选择Modules,选择你要修改的项目 3:点击Edit,把path修改成 ...
- 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 ...
- Jenkins进阶-部署Web项目到远程tomcat(7)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- Jenkins部署Web项目到远程tomcat(通过jenkins插件)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
随机推荐
- C# for循环或者foreach往List中添加对象的时候前面的数据总被最后加入的覆盖
昨天我旁边小姐姐遇到一个问题,就是在执行for循环往list添加数据的时候,前面的数据信息总是被后面的数据信息所覆盖. 这样编写就会造成这样的数据效果:(所有的数据都会被覆盖) 问题原因:对 ...
- sigsuspend()阻塞:异步信号SIGIO为什么会被截胡?
关键词:fcntl.fasync.signal.sigsuspend.pthread_sigmask.trace events. 此文主要是解决问题过程中的记录,内容有较多冗余.但也反映解决问题中用到 ...
- Lepus搭建企业级数据库慢查询分析平台
前言 Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚本来进行数据采集.该脚本会自动开启 ...
- Golang 入门 : 字符串
在 Golang 中,字符串是一种基本类型,这一点和 C 语言不同.C 语言没有原生的字符串类型,而是使用字符数组来表示字符串,并以字符指针来传递字符串.Golang 中的字符串是一个不可改变的 UT ...
- CentOS7.5脱机安装SQL Server 2017(NEW)
发现搜到的都是在线下载安装的,都是只安装了mssql-server服务,没有mssql-server-agent服务.还以为linux下mssql没有agent服务呢.一番测试发现可以脱机安装,但是能 ...
- 使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法
将使用的VMware-workstation-full-14.0.0.24051卸载改为使用VMware-workstation_full_12.1.1.6932. 安装VMware成功后,创建新的虚 ...
- Python——Twisted框架(网络通信)
一.简介 twisted是一个封装好的网络通信的库,可以帮助我们快速进行网络编程.注意,python3中,字符串必须转码成utf8的格式,否则无法发送.比如str("test"). ...
- Siamese network 孪生神经网络
Siamese network 孪生神经网络 https://zhuanlan.zhihu.com/p/35040994 https://blog.csdn.net/shenziheng1/artic ...
- Flask上下文管理、session原理和全局g对象
一.一些python的知识 1.偏函数 def add(x, y, z): print(x + y + z) # 原本的写法:x,y,z可以传任意数字 add(1,2,3) # 如果我要实现一个功能, ...
- rest framework 解析器,渲染器
解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 请求体相关字段: Accept:指定了接收的数据类型 Conte ...