Mr.*_*bot 6 spring jetbrains-ide intellij-idea maven spring-boot
我使用以下命令从我的终端运行我的 Maven 项目开发配置文件
sudo mvn spring-boot:run -Dspring.profiles.active=dev
Run Code Online (Sandbox Code Playgroud)
如何使用给定的配置文件运行我的项目以在调试模式下运行。如何为此在intellij中设置配置?
使用特定配置文件从 Maven 运行 Spring Boot 项目
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar
Run Code Online (Sandbox Code Playgroud)
或者使用 shell 变量
SPRING_PROFILES_ACTIVE=foo mvn spring-boot:run
Run Code Online (Sandbox Code Playgroud)
或者通过将参数传递给 JVM
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=foo,bar"
Run Code Online (Sandbox Code Playgroud)
据我所知,这些是唯一适用于 Spring Boot v2.0+ 的方法。
第一个选项由 Spring Boot Maven 插件识别并将其传递到应用程序 JVM。
从 Spring Boot 2.0 版本开始,run目标默认分叉进程。由于-Dspring.profiles.active插件不能直接识别它,因此它只能被 Maven 进程看到,而不会传递给应用程序本身。这就是为什么它在 form 中不起作用的原因mvn spring-boot:run -Dspring.profiles.active=foo,bar。
在第二个选项中,shell 变量应该对该 shell 生成的任何子进程可见。
从 Maven 以调试模式启动 Spring Boot 项目
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
Run Code Online (Sandbox Code Playgroud)
把它放在一起
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
Run Code Online (Sandbox Code Playgroud)
另一种方法是将所有参数传递给 JVM
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -Dspring.profiles.active=foo,bar"
Run Code Online (Sandbox Code Playgroud)
Mavenpom.xml应包含 Spring Boot 插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.1.RELEASE</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在 IntelliJ 中,您应该从“运行/调试配置”工具窗口创建一个新的“远程”调试配置。您可以在主菜单中找到它 - “运行/编辑配置...”
默认配置将使用相同的5005端口。之后,启动调试配置。控制台应显示“已连接到目标虚拟机...”。
资料来源:
如果您从 Maven 运行,请添加以下参数:
mvn spring-boot:run -Dspring.profiles.active=dev -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555"
Run Code Online (Sandbox Code Playgroud)
这里5555是调试端口号(您可以使用任何其他未占用的端口)。
然后在 IntelliJ 中,您可以使用远程调试配置并连接到该端口。
如果您从 intelliJ 打开 pom.xml,您可以创建一个带有--spring.profiles.active=devmain 类的运行配置,该类是一个带有 main 方法的类,就像在常规的最简单的 java 应用程序中一样。
| 归档时间: |
|
| 查看次数: |
4103 次 |
| 最近记录: |