Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试tomcat中部署的java应用程序_Java_Eclipse_Debugging_Tomcat - Fatal编程技术网

调试tomcat中部署的java应用程序

调试tomcat中部署的java应用程序,java,eclipse,debugging,tomcat,Java,Eclipse,Debugging,Tomcat,我在tomcat中部署了一个应用程序。后来,我在Eclipse中将代码配置为一个项目。我想通过eclipse连接到tomcat并调试应用程序。 试图设置远程调试连接时出现错误。是否有任何条目需要添加到tomcat中?是的,您需要将tomcat配置为接受远程调试连接。有一个关于如何使用各种IDE的常见问题解答 首先,您需要在调试模式下运行Tomcat。最简单的方法是修改启动文件(.bat或.sh,具体取决于您是否是Windows)。找到包含start命令的文件附近或末尾的行,并将其更改为jpda

我在tomcat中部署了一个应用程序。后来,我在Eclipse中将代码配置为一个项目。我想通过eclipse连接到tomcat并调试应用程序。
试图设置远程调试连接时出现错误。是否有任何条目需要添加到tomcat中?

是的,您需要将tomcat配置为接受远程调试连接。有一个关于如何使用各种IDE的常见问题解答


首先,您需要在调试模式下运行Tomcat。最简单的方法是修改启动文件(.bat或.sh,具体取决于您是否是Windows)。找到包含
start
命令的文件附近或末尾的行,并将其更改为
jpda start
。这将导致Tomcat在调试模式下启动,监听端口
8000


接下来,要通过Eclipse连接到此进程,请选择
Run
菜单并选择
Debug Configurations…
。在左侧窗格中,选择
远程Java应用程序
,然后单击列表上方的
新启动配置
按钮。需要注意的重要设置是
主机
端口
字段。主机值必须与Tomcat进程的主机名匹配,端口应为
8000
。您可能还需要在
Source
选项卡上添加条目,以确保所有源代码都可以单步执行

只需更改
startup.bat中的行即可(如果您使用的是Windows)

发件人:

致:

  • 创建一个新的tomcat服务器
  • 创建新的动态web项目
  • 将war导出到tomcat服务器

  • Tomcat调试配置(重要),首先双击Tomcat服务器,然后选择“使用Tomcat安装(控制Tomcat安装)”
  • 添加断点
  • 在调试模式下运行tomcat
  • web浏览器中的测试战争
  • 编辑源路径
  • 在Tomcat中调试源代码
  • war文件可用

  • 右键单击要调试的项目,进入“调试方式”菜单,然后在列表中单击“调试配置”
  • 然后从左侧菜单列表双击远程Java应用程序。浏览要添加的项目,然后单击应用

    • 同时将侦听端口更改为7999,然后从本地主机启动web应用程序后,单击同一窗口上的调试按钮。然后在那之后,任何断点都会被击中

  • 使用eclipse设置tomcat调试器的步骤

    安装以下内容:

    java 1.8+

    eclipse EE版本

    下载Tomcat8+

    打开eclipse并转到
    服务器
    选项卡并添加新服务器(窗口->显示视图->其他->搜索服务器)

    将您的项目标记为动态web项目(右键单击项目->项目方面->选择动态web模块)

    导出战争(文件->导出->搜索战争->选择模块并选择路径)

    运行方式->在服务器上运行

    在调试或运行模式下启动tomcat服务器

    检查
    localhost:8080


    调试为我工作。我使用的是在centos 7上配置的tomcat 8。更改2个设置后为我打开了调试端口

  • 打开tomcat/conf/bin/startup.sh并添加到下面的行中
  • 在同一文件startup.sh中,在start命令之前添加了jpda
  • 重新启动tomcat。 在eclipse中,运行>调试配置>远程java应用程序>添加运行tomcat的主机ip和端口(8000)。 在我的情况下,我也需要通过防火墙打开8000

    firewall-cmd --zone=public --permanent --add-port=8000/tcp
    firewall-cmd --reload
    

    谢谢你的链接。我在启动日添加了设置和tomcat“监听地址为8000的传输dt_套接字”。在此之后,我尝试从eclipse进行远程调试,但再次失败,出现了相同的错误“无法连接到远程VM。连接被拒绝”。Laz,我完成了所有这一切。但我仍然以“无法连接到远程VM。连接被拒绝”的错误结束。知道为什么会出现这个错误吗?听起来Tomcat好像出于任何原因都没有在侦听。你最后修改了哪个文件?终于开始工作了。我显式地添加了JVM选项,并提供了一个默认8000以外的端口。能够使调试连接以这种方式工作。谢谢你的帮助,拉兹@user811433您是如何添加JVM选项的?你可以发布你的startup.bat,其中添加了JVM选项吗?太棒了,它成功了。tomcat启动文件中所需更改的详细信息:这是一个非常有用的答案,但不是针对这个问题。我学到了一些东西,但不是这个问题的答案
    call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
    
    export JPDA_ADDRESS=8000
    export JPDA_TRANSPORT=dt_socket
    
    exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
    
    firewall-cmd --zone=public --permanent --add-port=8000/tcp
    firewall-cmd --reload