在Netbeans中运行/调试Maven JavaSE应用程序

时间:2015-10-20 20:40:34

标签: java maven debugging netbeans

我有一个JavaSE多模块应用程序,我想在调试模式下构建和运行。然后,一旦应用程序运行(在我的本地计算机上),我希望能够附加到该进程。我们使用的是Maven,IDE是Netbeans。

我已经找到了这些信息:

  

您可以在NetBeans中调试任何Maven目标 select a,max(b) keep (dense_rank first order by c desc) b , max(c) keep (dense_rank first order by c desc) c from test where a = 26 group by a ,选择您要调试的目标,最后   选项设置属性选择添加,然后选择调试   Maven构建

但是,我不知道要为执行目标输入什么,以使其在调试模式下运行。我可以选择运行 - >清理并构建Maven项目,看看我的项目是以调试模式构建的(即[debug] execute contextualize)。

我在这里找到了一个答案,说明 8000 中本地计算机的默认端口。那么如何在该端口上运行应用程序,以便我可以附加到它?

enter image description here

2 个答案:

答案 0 :(得分:2)

不确定这是否是您想要的答案。

  1. 您的多模块应用程序必须有一个maven模块(jar类型),其中包含启动应用程序的代码(主类)。
  2. 右键单击该模块,然后查看上面显示的属性页面。 (我认为你打开的是POM型模块。)
  3. 您应该有一个运行类别,以允许您添加JVM参数。
  4. 添加JVM参数(例如:-Xdebug -Xnoagent -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = y)
  5. 在NetBeans中运行您的应用程序。
  6. 希望这会有所帮助。

答案 1 :(得分:1)

如果您使用弹簧靴,这对我有用:

  1. 从命令行转到项目父文件夹
  2. 运行mvnDebug spring-boot:run
  3. 来自netbeans的
  4. 使用以下值运行debug attach debugger:
  5. 调试器:Java调试器(JDPA),

    连接器:SocketAttach(通过套接字连接到其他VM),

    运输:dt_socket,

    主持人:localhost,

    港口:8000