当前位置: 首页 > 知识库问答 >
问题:

用spring-boot和IntelliJ调试jsp

古凌
2023-03-14

我正在使用spring-boot、jsp和嵌入式Tomcat开发一个web应用程序(war打包)。应用程序运行良好,如果我用spring-boot:run目标添加一个maven运行配置,我就可以毫无问题地调试java文件。

但是当我尝试在我的一个jsp文件中添加断点时,IntelliJ会显示这样的错误:“断点不属于任何类”。

如果我将IntelliJ配置为使用外部tomcat服务器,那么jsp调试工作很好。

有没有使用spring-boot maven目标调试jsp的方法?这是spring-boot还是IntelliJ中的maven运行配置的问题?

共有1个答案

秋光熙
2023-03-14

问题是spring boot为应用程序产生了另一个进程。您必须告诉boot您想要调试,而不仅仅是在debug模式下运行maven或gradle的命令。:-(参见:

  • http://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#howto-remote-debug-gradle-run
  • http://docs.spring.io/spring-boot/docs/1.1.4.build-snapshot/maven-plugin/examples/run-debug.html

更新:对于我当前的项目,我只是在一个war文件中提供了一个初始化spring boot的类。(请参阅相应的如何使用spring boot来处理部署在真实WebContainer中的war文件)

因此,在开发前端材料时,我使用SpringBoot:Run来快速重新加载资源等,并且为了调试java代码,我将材料部署到调试模式下的tomcat中。对于一个版本,我只需要决定我想要哪种包装类型,因为我的应用程序能够以jar或war文件的形式运行。

顺便说一句:如果您只想使用tomcat的东西(特殊的过滤器等等),那么您也可以使用嵌入式的tomcat for SpringBoot:run,这样您的环境就更加相似了,而且您不会搜索ghost bug;-)

更新2

更新3根据Spring Boot团队的说法,他们改变了Spring-boot:run的工作方式,所以从1.2开始,您应该可以对maven目标使用调试模式,尽管他们推荐的启动Spring Boot应用程序的方式总是启动main方法。

更新4我可以确认,从Spring1.2开始,您可以直接在调试模式下运行maven目标来设置断点等。

 类似资料:
  • 我正在尝试使用IntelliJ调试Spring Boot项目。突然,我的线路在工作了几年后无法调试。 它将通过类进行调试,但当我尝试运行一个方法时,它不会看到断点。我之前收到了一个应用程序上下文消息,我修复了它,但它仍然不起作用。https://www.jetbrains.com/help/idea/2021.2/spring-support.html#spring-file-set 它将在后台看

  • 通过使用IntelliJ Idea CE在调试模式(spring-boot:run)下运行应用程序,在使用Spring Boot2.2时根本不会出现断点。相反,当回滚到Spring Boot 2.1.1时,一切都很好。我做错了什么?为2.2添加选项/标志以使调试器工作吗?

  • 我在IntelliJ IDEA community Edition上调试Java spring-boot应用程序时遇到了困难。主要的问题是,IDE不会在断点上停止,即使程序确实通过断点执行。我怎样才能使智能的想法停止在断点上? Maven配置,命令为:spring-boot:run。在启动之前,我构建项目。

  • 问题内容: 我正在尝试使用Intellij(IDEA)调试grunt。这些技术是:NodeJS,express,AngularJS。 问题:调试器不会在断点处停止。 我很高兴听到您的想法。 配置选项卡: 节点解释器:C:\ Program Files \ nodejs \ node.exe Javscript文件:C:\ Users [用户] \ AppData \ Roaming \ npm \

  • 我有一个Spring启动应用程序。我使用IntelliJ 13。 我想在调试模式下启动我的应用程序并对其进行调试。我在Windows上,我想使用共享内存。我希望能够单击调试图标或单个maven目标,然后应用程序以调试模式启动,IDE附加调试器。这就是我习惯于调试大多数java应用程序的方式。 然而,混合Spring-boot和IntelliJ似乎使事情变得复杂。当我按下绿色“调试”按钮并且我找不到

  • 主要内容:断点,Evaluate表达式,Step Into,Step Out,Resume Program,Inspecting variablesIntellij Idea 调试功能,允许我们跟踪正在运行的代码,检查代码状态和​​执行流程。IntelliJ IDEA 调试器帮助我们轻松调试从最简单的代码到复杂的应用程序的任何内容。使用 IntelliJ 调试器,我们可以执行以下步骤 - 在任何时候停止程序的执行、单步执行函数、行断点、检查变量、评估表达式等。一些 Java 内置调试​​器是: