如何通过Maven使用Netbeans调试Spring Boot

时间:2017-01-13 11:06:38

标签: java spring maven netbeans

在我使用Spring Boot 1.4.3在Netbeans 8.2中进行适当的debuging设置之后,经过长时间的摆弄,我认为我将其调查结果写为Q& A。

问题是Netbeans的默认配置无法在调试模式下正确启动Spring,当您在互联网上搜索时,您只能在Spring文档中找到过时的信息。

如果您知道如何解决方案很简单。请在下面找到正确的设置说明。

4 个答案:

答案 0 :(得分:14)

测试并使用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>

现在导航到您的项目设置 - &gt;行动 - &gt;调试项目并设置以下内容:

enter image description here

执行目标:

spring-boot:run

设置属性:

run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address}
jpda.listen=true

现在通过常用的调试按钮运行您的应用程序,Spring应该正确连接到JVM调试器。

Spring Boot 2.x

要为Spring Boot 2.x项目启用Netbeans调试(更具体地说是spring-boot-maven-plugin的2.x版本),除了run.jvmArguments属性名称之外,该过程完全相同已更改为spring-boot.run.jvmArguments

spring-boot.run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address}
jpda.listen=true

答案 1 :(得分:4)

测试NetBeans 8.2和Spring Boot 2.0.1,我无法在@TwoThe's instructions之后使其工作。首先,我遇到了一个问题,我看到的只是输出窗口中的“JPDA Listening Start ...”。为了解决这个问题,我添加了Spring Devtools作为可选依赖项。其次,即使调试似乎运行正常,通常显示活动线程列表的“调试”窗口为空,并且未设置我设置的断点。第三,按红色的“完成调试器会话”按钮尝试停止调试会话不会停止Tomcat服务器。

我没有将执行目标更改为“spring-boot:run”,而是发现使用默认的“Debug project”操作执行目标就足够了:

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

(作为旁注,作为常规Java应用程序进行调试显然是在Eclipse中调试Spring Boot应用程序的推荐方法;请参阅How to debug Spring Boot application with Eclipse?

一个有用的提示是,如果要使用某个Spring Boot配置文件进行调试,例如“debug”,则可以在“exec.args”属性中添加“-Dspring.profiles.active = debug”。另见:Spring boot running a fully executable JAR and specify -D properties

答案 2 :(得分:1)

enter image description here

在NetBeans9上测试

操作:添加任何名称 设置属性:选择添加>按钮,选择调试Maven构建 和往常一样调试-> IDE调试按钮

答案 3 :(得分:0)

如果在应用所有上述修复程序后仍遇到问题,请删除所有断点,然后重试。 窗口->调试->断点->删除所有断点