Intellij IDEA带参数启动Springboot注意事项
问题
不同版本的spring-boot-maven-plugin的jvm参数配置有所不同,同时与通过main方法启动springboot程序传递参数也有所不同。
分析
在运行main方法时,可以通过java -jar 后面通过添加-D的参数即可传递,比如:
java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 test-tool.jar
而对于通过spring-boot-maven-plugin插件的run方法启动时传递参数,不同版本就有所差异。通过插件启动方式如下图:
在此只以1.5.4.RELEASE版本为例,pom.xml文件配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
</configuration>
</plugin>
</plugins>
</build>
此时运行spring-boot:run,是可以正常传递参数。但此时通过mvn spring-boot:run命令来传递参数,参数值将会无效。
同样,即使项目中pom文件配置了上面的plugin,直接通过main方法启动,此参数也是不会生效的。打包部署时依旧需要在执行命令中添加参数项。
总之,就是启动springboot时传递参数,在某些情况是有效,在某些情况是无效的。而spring-boot-maven-plugin配置的参数是针对上图中执行spring-boot:run时生效的。
延伸阅读
相关类似可参考资料:
https://github.com/spring-projects/spring-boot/issues/875
http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.1-Release-Notes#running-your-app-using-maven
https://github.com/spring-projects/spring-boot/issues/1095
Intellij IDEA带参数启动Springboot注意事项的更多相关文章
- MFC带参数启动指令发送与接收
MFC带参数启动指令发送与接收 发送 使用ShellExecute函数打开文件或执行程序. 函数原型: HINSTANCE ShellExecute( _In_opt_ HWND hwnd,//父窗口 ...
- docker 带参数启动 配合springboot profile
dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD test-push-service--SNAPSHOT.jar app. ...
- 【转】winform带参数启动另一个exe
启动EXE string arg1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; string arg2 = "bbbbbbbbbbbbbbbb ...
- shell脚本带参数启动项目
用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置 ...
- C++第四十七篇 -- VS2017带参数启动调试程序
参考链接:https://www.cnblogs.com/kileyi/p/10163269.html 举例:Test_Bluetooth.exe -help Test_Bluetooth.cpp # ...
- VS2017 带参数启动调式程序
有些程序,比如FFPlay,需要传递命令行参数才能运行想要的功能,比如字幕, ffplay -vf subtitles=mv.mkv mv.mkv 参数是 -vf subtitles=mv.mkv m ...
- 【转】如何在命令行脚本中启动带参数的Windows服务
我们有一个自己编写的Windows服务,我们希望该服务在启动时可以根据用户输入的参数实现不同的功能. 要实现这样的需求并不是很难,下面这个例子我用来示范如何编写该服务 using System; us ...
- 记一次WPF程序带参数启动
问题:总共有两个程序.第一个程序使用Process带参数启动第二个程序. 网上一堆人都说什么重写Main入口啊 什么的.然后还一堆人跟着复制发文章.我也是醉了,简直是坑人.为何要舍近求远,直接重写AP ...
- cmd命令行带参启动程序
cmd命令行带参启动程序 有一些程序不支持被直接启动,编写代码时,我们可以通过Process类来启动某个进程(某个软件),在不用代码调从而启动某个软件时,windows系统下,通常我们会用到cmd命令 ...
随机推荐
- 微信小程序组件scroll-view
视图容器scroll-view :官方文档 Demo Code var order = ['red', 'yellow', 'blue', 'green', 'red'] Page({ data: { ...
- LeetCode:数组中的第K个最大元素【215】
LeetCode:数组中的第K个最大元素[215] 题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: ...
- Shiro理解与总结
Feature Apache Shiro is a comprehensive application security framework with many features. The follo ...
- BZOJ 3689: 异或之
字典树可以$o(logn)查找第k大$ 使用$可持久化Trie 区间查找第k大,然后首先把每个数异或之后的最小丢进小根堆中,然后一个一个取出,取出后就再丢次小,一共取k次$ 总的时间复杂度为$O(kl ...
- 增for语句内容
#author:leon #"hello world!" for i in range(10): #循环十次,每一次循环赋一个0-9中的数字给i . print("--- ...
- Java8中时间日期库的20个常用使用示例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期, ...
- python中数据类型转换
python中list和str互转 1.list转str 假设有一个名为test_list的list,转换后的str名为test_str 则转换方法: test_str = "" ...
- Spring boot + jdbc学习笔记
pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...
- [mongodb] MMAPv1 Storage Engine
MMAPv1 是mongodb 在3.2以前默认的存储引擎,在3.2 之后默认的存储引擎为WiredTiger,MMAPv1存储引擎基于内存映射文件,它擅长高容量的插入,读取和更新. Journal ...
- 关于jquery的each遍历,return只终止当前循环,不好使的解决办法
很奇怪,一般来说return会终止js,但是今天万万没想到的是,jquery 的each循环中,return不好使,做一记录, var result = true; $('input[type=&qu ...