我使用Intellij IDE作为Spring引导应用程序。出于许多原因,我更喜欢使用外部终端来运行应用程序,而不是使用IDE本身内置的运行和调试选项。
我在外部终端上使用命令mvn spring boot:run
运行应用程序。它按预期工作,但我无法调试应用程序。我正在使用命令mvnDebug-spring-boot:run
在外部终端上进行调试,如本文所述。然后我创建了一个Remote
配置,以便在端口8000
处连接,它成功地完成了这项工作。但是应用程序不会在我设置的断点处停止。
我确信Intellij能够连接到mvnDebug
进程,因为只要我在IDE中按下Debug
按钮,我就会得到以下输出。
连接到目标VM,地址:'localhost:8000',传输:'套接字'
此外,我知道IDE能够在类路径中进行更改,因为只要我在中进行更改。java
文件,Spring Boot服务器在外部终端中以最新的更改重新启动。
但应用程序仍然没有在设置的断点处停止。我还需要做什么?
其他信息:我正在使用Java8, Maven 3.6.1
mvnDebug
将打开以调试运行maven的JVM。
默认情况下,插件的配置方式是生成另一个JVM来运行JavaSpring Boot应用程序(一个分叉过程)。
所以你可能正在连接Maven的虚拟机。
因此,您应该在Spring Boot maven插件配置中指定调试参数:
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.4.RELEASE</version>
<configuration>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
</configuration>
...
</plugin>
...
</plugins>
...
</build>
...
</project>
源代码是spring boot插件的官方文档
我试图重新创建Connect四,我成功了。但我想通过频繁地切换颜色,给玩家一个获胜的四张光盘在哪里的指示。我对线程和编程中的时间概念是新的。 我也成功地给了用户这个指示,但是在关闭应用程序之后,控制台仍然会给出输出,也是在使用SetonCloserEquest时。 代码如下:
我们为Azure Portal中托管的Web应用程序安装了应用程序Insights。
我运行我的Android应用程序(基于Java),它可以工作。接下来,我添加到我的应用程序代码: FirebaseFirestore fdb=FirebaseFirestore。getInstance(); 这是我从Android官方网站上得到的代码https://firebase.google.com/docs/firestore/quickstart 应用程序运行,但接下来运行的设备显示消息“
设置应用程序 Nest is built with features from both ES6 and ES7 (decorators, async / await). It means, that the easiest way to start adventure with it is to use Babel or TypeScript. In this tutorial I will u
我有一个简单的控制台应用程序,有时需要执行图形操作,对于那些我使用JavaFx框架(有一些功能,我需要像css样式的文本)我只是生成一些形状和文本到一个隐藏的场景,然后保存在文件中仅此而已, 我知道要使用JavaFx,我必须将图形操作传递给JavaFx线程,但是当一切都完成后,我必须关闭应用程序(几个小时后),这个JavaFx线程仍然保持打开...我真的不想强行退出System.exit(),因为
我正在以独立模式运行Spark群集。 我已使用以下选项提交了群集模式下的Spark应用程序: 使作业具有容错性。 现在我需要保持集群运行但停止应用程序运行。 我尝试过的事情: 停止集群并重新启动它。但是当我这样做时,应用程序会恢复执行。 使用了名为DriverWrapper的守护进程的Kill-9,但之后工作再次恢复。 我还删除了临时文件和目录并重新启动了集群,但作业再次恢复。 所以正在运行的应用