在摆弄了太长时间之后,直到我在Netbeans 8.2和Sping Boot 1.4.3中得到了正确的调试设置,我想我把我的发现写下来作为其他人的问答。问题是Netbeans的默认配置无法在调试模式下正确启动Spring,当您搜索Internet时,您只能在Spring文档中找到过时的信息,这些信息无法正常工作。如果您知道如何操作,解决方案很简单。请在下面找到正确的设置说明。
2lpgd9681#
已通过测试并可与Netbeans 8.2和Spring-Boot 1.4.3配合使用:首先,请确保包含Spring Maven插件(在创建新得Netbeans Spring项目时,应该已经包含了该插件):
<plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> ... </plugins>
另外,最好包含Spring Devtools,如下所示:
<dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> ... </dependencies>
现在导航到您的项目设置-〉Actions -〉Debug project并设置以下内容:
执行目标:
spring-boot:run
设置属性:
run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} jpda.listen=true
现在,通过常用的调试按钮运行应用程序,Spring应该正确地连接到JVM调试器。
要为Sping Boot 2.x项目(更具体地说,是spring-boot-maven-plugin得2.x版本)启用Netbeans调试,过程完全相同,只是run.jvmArguments属性名称已更改为spring-boot.run.jvmArguments:
run.jvmArguments
spring-boot.run.jvmArguments
spring-boot.run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} jpda.listen=true
vsdwdz232#
在测试NetBeans 8.2和Sping Boot 2.0.1时,我无法按照@TwoThe的说明进行操作。首先,我遇到了一个问题,在输出窗口中看到的只是“JPDA Listening Start...”。为了解决这个问题,我添加了Spring Devtools作为可选依赖项。其次,尽管调试看起来运行正常,但“调试”窗口该窗口通常显示活动线程的列表,但该窗口是空的,我设置的断点没有被触发。我发现使用默认的“Debug project”动作执行目标就足够了,而不是将执行目标更改为“spring-boot:run”:
process-classes org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
..和属性:
exec.args=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath ${packageClassName} exec.executable=java jpda.listen=true
(As旁注,作为常规Java应用程序进行调试显然是在Eclipse中调试 Boot 应用程序的推荐方法;请参见How to debug Spring Boot application with Eclipse?)一个有用的提示是,如果你想使用某个Sping Boot 配置文件进行调试,比如说“debug”,你可以在“exec.args”属性前面加上“-Dspring.profiles.active=debug“。另请参阅:Spring boot running a fully executable JAR and specify -D properties
kgsdhlau3#
在NetBeans 9上测试操作:添加任何名称设置属性:选择“添加”〉“按钮,然后选择”调试Maven生成并始终调试“-〉”IDE调试“按钮
cotxawn74#
如果在应用了上述所有修复后问题仍然存在,请删除所有断点,然后重试。窗口-〉调试-〉断点-〉删除所有断点
ie3xauqp5#
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
建筑物
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins>
*可执行目标: Package 件*设置属性:netbeans.deploy.调试模式=true netbeans.deploy=true
*可执行目标:Spring引导:运行*设置属性:jvm-boot.run.jvmArguments=-Xdebug -Xrunjdwp:传输=dt_套接字,服务器=n,地址=${jpda.address} jpda.listen=true
和Netbeans按下调试项目--而不是导航器--〉spring-boo-run...有什么区别吗?spring-boot.run.jvmArguments:
5条答案
按热度按时间2lpgd9681#
已通过测试并可与Netbeans 8.2和Spring-Boot 1.4.3配合使用:
首先,请确保包含Spring Maven插件(在创建新得Netbeans Spring项目时,应该已经包含了该插件):
另外,最好包含Spring Devtools,如下所示:
现在导航到您的项目设置-〉Actions -〉Debug project并设置以下内容:
执行目标:
设置属性:
现在,通过常用的调试按钮运行应用程序,Spring应该正确地连接到JVM调试器。
Spring Boot 2.x
要为Sping Boot 2.x项目(更具体地说,是spring-boot-maven-plugin得2.x版本)启用Netbeans调试,过程完全相同,只是
run.jvmArguments
属性名称已更改为spring-boot.run.jvmArguments
:vsdwdz232#
在测试NetBeans 8.2和Sping Boot 2.0.1时,我无法按照@TwoThe的说明进行操作。首先,我遇到了一个问题,在输出窗口中看到的只是“JPDA Listening Start...”。为了解决这个问题,我添加了Spring Devtools作为可选依赖项。其次,尽管调试看起来运行正常,但“调试”窗口该窗口通常显示活动线程的列表,但该窗口是空的,我设置的断点没有被触发。
我发现使用默认的“Debug project”动作执行目标就足够了,而不是将执行目标更改为“spring-boot:run”:
..和属性:
(As旁注,作为常规Java应用程序进行调试显然是在Eclipse中调试 Boot 应用程序的推荐方法;请参见How to debug Spring Boot application with Eclipse?)
一个有用的提示是,如果你想使用某个Sping Boot 配置文件进行调试,比如说“debug”,你可以在“exec.args”属性前面加上“-Dspring.profiles.active=debug“。另请参阅:Spring boot running a fully executable JAR and specify -D properties
kgsdhlau3#
在NetBeans 9上测试
操作:添加任何名称设置属性:选择“添加”〉“按钮,然后选择”调试Maven生成并始终调试“-〉”IDE调试“按钮
cotxawn74#
如果在应用了上述所有修复后问题仍然存在,请删除所有断点,然后重试。窗口-〉调试-〉断点-〉删除所有断点
ie3xauqp5#
战俘
建筑物
调试项目
*可执行目标: Package 件
*设置属性:netbeans.deploy.调试模式=true netbeans.deploy=true
变更
*可执行目标:Spring引导:运行
*设置属性:jvm-boot.run.jvmArguments=-Xdebug -Xrunjdwp:传输=dt_套接字,服务器=n,地址=${jpda.address} jpda.listen=true
和Netbeans按下调试项目--而不是导航器--〉spring-boo-run...有什么区别吗?spring-boot.run.jvmArguments: