如何使用 Idea 远程调试 Java 代码

如何使用 Idea 远程调试 Java 代码,第1张

项目的部署方式有在本地搭建服务器进行启动或是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是通过项目映射的方式来部署我们的项目的。

首先,先找到我们的映射文件

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用 Idea 远程调试 Java 代码

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情