如何使用 Idea 远程调试 Java 代码
项目的部署方式有在本地搭建服务器进行启动或是debug,或是将项目在远程服务器上面部署。一般如果在本地搭建服务器的时候,可以直接选择启动或是直接debug,但是如果项目部署在远程的服务器上面的时候, 我们该如何进行调试呢?而一些大公司的项目是不需要在本地搭建应用服务器的,为了环境统一,应用服务器都是在远程服务器上面,这时我们就需要用远程debug,通过远程服务器的ip地址和远程开启的debug端口进行调试:
1首先把远程服务器上面需要调试的代码放在IDE里面
2在菜单栏选择run ->edit Configuration,点击+号,选择remote,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后在最上面输入该次一远程调试的项目名字,方便自己区分不同的项目
3将配置项中的-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5080添加到JAVA_OPTS的属性中,重启远程tomcat服务器
3再次选择菜单条run按钮,找到debug+“自己设置的项目名字”,点击然后就可以进行远程debug调试
4在本地项目中设置断点,然后访问远程机器上面的IP和端口,然后就可以在本地debug调试了
1、在IDEA中打开你的Web应用,点击一下绿色三角形左边的框框,然后在弹出框上选择EditConfigurations,会弹出一个配置面板。
2、在弹出的面板中我们点击Defaults,然后找到TomcatServer并点击。
3、紧接着我们点击右边的绿色加号,会有一个AddNewConfiguration的弹出框。我们将鼠标移到TomcatServer上,然后选择Local选项,这里我们是将项目部署到本地服务器上。
4、然后给服务取个名称,名称随意取都可,例如我们这里取名boot,然后配置一下服务器(位置),以及访问的网址。
5、接下来,点击Deployment选项,再点击右边绿色加号,然后选择Artifacts,在弹出框中我们看到有两个war选项,我们选择下面一个。
6、这样我们会看到Deloyattheserverstartup下面会显示刚才选择的war包,接着点击右下角OK按钮。
7、最后,点击下图中的绿色小三角就可以将应用程序跑气来了。
1、打开IntelliJIDEA,点击菜单的“Run”->“EditConfigurations”,然后会打开运行设置弹框。
2、在弹框中,点击左上角的“+”号小按钮,下拉选项,找到TomcatServer->Local,然后点击。
3、在右边的Server面板中,点击“Configure”按钮,在弹出的页面中,点击“TomcatHome”后面的按钮,在弹出的页面中,选择本地安装的tomcat的路径,然后点击OK。
4、然后切换到“Deployment”选项卡,点击“+”号小按钮,在弹出的页面中选中我们要运行的项目,然后点击OK。
5、这时候会回到IntelliJIDEA的主界面,选中我们要运行的项目,点击绿色的小按钮,开始运行。
如何运行web项目呢?下面小编将给大家展示下如何把web项目运行到tomcat里面。
工具/原料
IntelliJIDEA
tomcat
方法/步骤
1、打开IntelliJIDEA,点击菜单的“Run”->“EditConfigurations”,然后会打开运行设置弹框。
2、在弹框中,点击左上角的“+”号小按钮,下拉选项,找到TomcatServer->Local,然后点击。
3、在右边的Server面板中,点击“Configure”按钮,在弹出的页面中,点击“TomcatHome”后面的按钮,在弹出的页面中,选择本地安装的tomcat的路径,然后点击OK。
4、然后切换到“Deployment”选项卡,点击“+”号小按钮,在弹出的页面中选中我们要运行的项目,然后点击OK。
5、这时候会回到IntelliJIDEA的主界面,选中我们要运行的项目,点击绿色的小按钮,开始运行。
一、打开idea,查看左上方工具栏,依次点击File->New->Project。此时弹出一个窗口,在左边栏选择Maven,稍等一段时间加载之后,右侧会出现一列archetype。勾选Create from archtype,找到并选择orgapachemavenarchtypes:maven-archtype-webapp,点击Next。
二、填写这个maven项目的GroupId,ArtifactId,Version信息。这是标识maven项目的三维坐标。点击Next
三、这一步就很关键了。上面是maven的根目录、settingsxml文件和本地仓库的位置,这些不必过多理睬,路径也因人而异。下面的是一些属性,除了已有的6个,我们需要添加一个archetypeCatalog=internal。这个参数的意义是让这个maven项目的骨架不要到远程下载而是本地获取。如果你没加这个参数,那么项目创建可能在卡在downloading maven plugins继续点击Next
四、为项目命名,点击Finish,项目一瞬间就创建好了
五、查看项目的结构,可以发现,web应用该有的已经都有了。至此,maven web项目创建完毕,接下来看看如何进行编译打包部署。
六、直接在idea左下的Terminal终端输入mvn install,编译打包成功,显示BUILD SUCCESS字样。重新查看项目的目录,我们发现项目根目录下面多了target目录,该目录下也打出了war包。
七、将应用部署到tomcat服务器。这里采用两种部署的方法,可以任选一个。
方法一:
将上面提到的taget目录下的springwar包放到tomcat安装目录的webapps的目录下。使用命令行(cmd)切换到tomcat安装目录的bin目录下,执行startupbat脚本,执行之后tomcat会部署webapps目录下的应用war包。稍等应用部署完毕之后,打开浏览器,输入localhost:8080/spring,可以看到输出了Hello World!
1)配置tomcat应用服务器
File->Settings
Build,Execution,Deployment ->Application Servers
点击zhidao"+"号,选择"Tomcat Server"
选中tomcat 的地址,点击OK
2)配置web应用
Defaults->TomcatServer
点击"+"号,
Server tab页,修改Name ,Applicaton server 下拉框选择刚才配置的Tomcat应用服务器。
Deployment目录选择要部署的web应用,专注意此处一定要选到WebContent文件夹,即WEB-INF上的上一级目录:
点击OK,并配置应用的上下文路径:属
3)修改编译输出路径。
工程->右键->Open Module Settings
选择Paths tab页,将output path:配置到WEB-INF\classes中,否则会找不到类。
4)启动tomcat
JetBrains家族的产品除了非常轻大的编码功能外,其万金油似的其他功能比如Database管理等,能极大的提高我们的开发效率,减少不同软件之间的切换成本
这里分享一下其强大的ssh连接功能,可以方便我们管理ssh连接、编辑服务器文件,愉快的抛弃某些CRT和shell软件(测试版本WebStorm 201912)
我们选择SFTP(为了方便管理,可以选择Server group 然后再新建SFTP)
选择YES
连接成功,其实直接在命令行ssh name@ip 也可以,只是idea帮我们管理了ssh连接
如果不熟悉vim,这个功能能极大的方便我们编辑服务端的文件
注意,这里新建文件是实时的,会弹出对应的File Transfer面板,而文件编辑不是实时的,需要点击上传文件按钮(右上角)
类似idea自带的版本控制,可以很方便的利用编辑器功能进行文件编辑
公司内网使用旗舰版idea需要先获得正版授权,然后安装在公司内网环境中指定的服务器上。正版授权可以通过购买来获得,也可以通过与JetBrains公司的合作来获取。安装在公司内网环境中的服务器上可以通过内网地址访问,方便公司内部的开发人员使用。公司内网使用旗舰版idea的好处是可以提高开发效率和代码质量,同时还可以方便统一管理和控制代码和项目的使用。此外,由于旗舰版idea具有强大的功能和插件支持,还可以让开发人员更加便捷地进行开发工作和跨平台开发。需要注意的是,在公司内网使用旗舰版idea的过程中需要遵守公司的安全规定和开发规范,以保证代码的安全性和质量。
虽说Intellij IDEA已经用了四个多月,里面大部分功能还是比较熟悉的,但是很多细节地方还是搞不清楚,这几天公司另一个小组也换成了Intellij IDEA,帮他们迁移项目的时候,因为是非maven项目,遇到了很多问题,自己又研究了一番,下面整理一下
2项目配置(Project Structure)
21 Project
project compliler output:配置的是项目中的默认编译输出总目录
里面英文也说明了,每个模块可以自己设置特殊的输出目录 所以这个基本上没用
22 Modules
项目的模块,一个项目中可以有多个子项目,每个子项目相当于一个模块
一般我们项目只是单独的一个,所以只需要配置一个模块,我们可以给模块添加框架
根据我们项目中的使用到东西,添加对应的框架,并在框架里面确定一下相关的配置文件(因为不同IDE下,项目的文件结构可能不同 所以导入的项目我们要注意一下配置)
模块配置根目下 分为了三个标签:Sources—— Paths—— Depedencies
Sources标签下 主要显示项目的目录资源 那些是项目部署的时候需要的目录 有颜色提示
(比如绿色是测试目录 橘色是target的目录 这些部署的时候都不需要 大红色是我的项目下没有的 蓝色是真正需要部署)
Paths标签下
可以指定项目的编译输出目录 也就是项目类 和 测试类的编译输出地址(替换掉了Project的默认输出地址)
Depedencies是项目的依赖
我们可以点击右侧的+号 添加lib 比如tomcat的lib 默认加进来就是Provided
(和maven的里面的jar依赖差不多)
Provided 也就是项目部署的时候是忽略的 只是再编译项目的时候进行使用
Compile 是跟随着项目部署的 Test也是不部署的
23 Libraries
里面可以添加项目jar包 并且可以把多个jar放在一个组里面 类似于jar包整理
这个下添加的jar 会在Depedencies中显示(反之不可以)
24 Facts
项目的门面,说实话,真不知道这个是干嘛的,和modules差不多,主要是为了确认一下吧
25 Artifacts
项目的打包部署设置,这个是项目配置里面比较关键的地方
注意红框的地方
第一个是我们需要添加项目的部署包 注意选择是exploded的war包
第二个是项目的输出目录 非maven项目这个可以设置到任何地方
( maven项目的需要特殊注意 这个后面再说)
第三个是输出结构(output layout) 参考图中的几个文件
(maven项目如果不使用maven的打包编译 注意图中WEB-INF下的lib要有项目部署的jar)
3非Maven项目的创建部署
创建File——New Project——Java——Web Application
(注意New Project里面不是选择的web 而是java)
intellij中web项目 默认网页根目录是web
项目配置可参考2中的几个地方 根据自己的需求自己修改
artifact中out directory 可以指定到任何地方 项目打包编译到指定的目录下
在intellij中启动tomcat 都会以对应war包out directory的设置的目录为工作空间
tomcat配置请参考http://myoschinanet/u/140593/blog/177042#OSC_h1_2 中的2-7
4Maven项目的部署
在intellij中 maven项目还是可以按照maven的打包编译 参考图中的几个生命周期 手动去执行
因为maven项目的约定 是项目打包编译到 target目录下
所以我们在2中配置都应该去遵循maven的配置约定进行修改
这样我们的项目在文件修改或者热部署的时候 intellij的编译才能和maven项目保持一致
(如果是在intellij中创建maven项目 那个intellij会给你配置好所有的配置
基本不用修改 我们可以创建一个springmvc的例子进行参考)
需要注意的地方是:
maven项目 artifact中out directory 的目录名
一定要和pom文件中build的finalName一致
另外pom文件中 要配置<packaging>war</packaging>
比如pom中配置的项目bulid finalName叫做ROOT
那么我们的out directory为 E:\项目积累\test1\target\ROOT
通过maven编译以及打包项目后
在服务器的配置中,可以去掉下图红色区域的两个选项,避免每次启动时都重新编译和打包
日常开发中,如果是借助springboot或者其他封装程度较高的框架来开发Web项目的话,大多数时候我们是可以直接使用springboot内嵌的tomcat直接一键式启动Web服务器的。但是对于一些SSM框架、个人项目或者是其他比较久的项目的话,直接在本地上调试web项目还是十分有必要去学习的。
配置完成后,点击弹框右下角的apply就行
我们都知道部署tomcat有三种方式,比较直接的就是直接将war包放到webapp中让它自己解压,但是idea并不是采用这种方式。如果直接去tomcat下找的话,我们也会发现找不到我们的项目。这是因为idea是通过项目映射的方式来部署我们的项目的。
首先,先找到我们的映射文件
0条评论