首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过main的命令行参数传递活动配置文件

通过main的命令行参数传递活动配置文件
EN

Stack Overflow用户
提问于 2020-06-02 23:03:42
回答 2查看 1.1K关注 0票数 0

我尝试从我的junit测试用例调用Spring boot主应用程序,如下所示,并将profile设置为参数,如下所示。

代码语言:javascript
运行
AI代码解释
复制
MyApplication.main(new String[] {"-Dspring.profiles.active=local"});

我有一个@Value配置,可以从yml文件中读取。

yml

代码语言:javascript
运行
AI代码解释
复制
spring:
  profiles: local

subdivisions: test

java

代码语言:javascript
运行
AI代码解释
复制
@SpringBootApplication
public class MyApplication {
  public static void main(String[] args) {
    SpringApplication.run(MyApplication.class);
  }
}

测试用例

代码语言:javascript
运行
AI代码解释
复制
@RunWith(SpringJUnit4ClassRunner.class)
public class MyApplicationTest {


  @Test
  public void testMainApplication() {

    MyApplication.main(new String[] {"-Dspring.profiles.active=local"});

  }
}

当我运行我的测试用例时,我得到了这个错误Could not resolve placeholder 'subdivisions' in value "${subdivisions}"

我猜没有设置活动配置文件,这是导致此错误的原因。

我尝试了下面的选项来传递Spring boot主应用程序的活动配置文件

代码语言:javascript
运行
AI代码解释
复制
MyApplication.main(new String[] {"spring.profiles.active=local"});

提前谢谢。感谢您在这方面的任何帮助..

EN

回答 2

Stack Overflow用户

发布于 2020-11-20 13:00:42

我遇到了同样的问题,并发现以下语法对我有效:

代码语言:javascript
运行
AI代码解释
复制
    @Test
    void main() {
        MyApplication.main(new String[]{"--spring.profiles.active=dev"});
    }
票数 2
EN

Stack Overflow用户

发布于 2020-06-03 00:04:46

您可以从启动日志中查看设置了哪个弹簧配置文件。另外,如果你有一个测试类,为什么不直接使用@ActiveProfiles("local"),也可以使用@SpringBootTest来启动spring引导测试,而不是直接调用main类

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62162739

复制
相关文章
main函数与命令行参数
执行程序时,可以从命令行传值给C程序。这些值被称为命令行参数,特别是想从外部控制程序,不是通过在代码内对这些值进行硬编码时,而是通过参数来控制代码部分逻辑。 int main(int argc,char *argv[]) argc:命令行参数个数(不给main()函数传递参数时默认值为1,即至少有一个参数为该可执行文件的文件名(含目录)) argv:命令行参数数组(分别指向各个字符串参数的首地址,其中argv[0]存储的是可执行文件的文件名的首地址。)
用户7272142
2023/10/11
3960
main函数与命令行参数
【方向盘】启动命令和IDEA如何传递:VM参数、命令行参数、系统参数、环境变量参数、main方法参数
你好,这里是Java方向盘,我是方向盘(YourBatman),坐稳扶好,开始发车。
YourBatman
2022/09/16
4.3K0
【方向盘】启动命令和IDEA如何传递:VM参数、命令行参数、系统参数、环境变量参数、main方法参数
【答疑释惑】main函数的参数是哪里传递来的
int main(int argc, char *argv[]) 这个参数是哪里传递来的? C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用: argc 是指命令行输入参数的个数(以空白符分隔) argv存储了所有的命令行参数。 1.通过命令行运行 假如你的程序是Helloworld.exe,在cmd命令行运行时,增加参数即可: Hello
程序员互动联盟
2018/03/14
1.2K0
【答疑释惑】main函数的参数是哪里传递来的
【Python】函数进阶 ② ( 函数参数传递类型简介 | 缺省参数 | 不定长参数 | 通过位置传递的不定长参数 | 通过关键字传递的不定长参数 )
" 缺省参数 " 又称为 " 默认参数 " , 在 定义函数时 , 可以为参数设置一个默认值 ,
韩曙亮
2023/10/11
7220
Http通过header传递参数_http contenttype
规范:只要Content-Type设置为application/json的时候,前台的data要传递String字符串
全栈程序员站长
2022/09/23
2.1K0
Http通过header传递参数_http contenttype
c语言之在main中获取命令行的参数
#include<stdio.h> #include<iostream> int main(int argc,char *argv[]) { printf("参数的个数是(包括第0个当前可执
西西嘛呦
2020/08/26
1.7K0
Jmeter通过参数传递多用户的并发测试
  2.添加csv data set config,filename为本地用户名存储记事本文件,file_encoding为utf-8(与记事本的编码格式一致),variable names为变量名(多个变量可以用标点符号隔开),demiliter为分隔符,可以输入逗号等符号。
顾翔
2019/12/12
1.8K0
带参数的main函数
copy是DOS下的拷贝命令,是执行文件名,其功能就是将C盘根目录下的文件source.cpp拷贝到C盘bak子目录下,并改名为prg.cpp。
叶茂林
2023/07/28
2010
带参数的main函数
传递参数的方式
传递参数的方式 传递参数主要有两种类型: params和query params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /rou
Qwe7
2022/05/30
1.3K0
java中的参数传递-值传递、引用传递
参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。
chenchenchen
2022/11/29
4.7K0
java中的参数传递-值传递、引用传递
Java的参数传递是值传递还是引用传递
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递?    答:是按值传递。Java 语言的参数传递只有按值传递。当一个实例对象作为参数被传递到方
nnngu
2018/03/15
3.3K0
Java的参数传递是值传递还是引用传递
Windows上通过命令行参数限制CPU
在命令行窗口使用下面的命令来启动自己的程序 start /WAIT /affinity 0x1 app.exe (只使用第一个CPU) start /WAIT /affinity 0x2 app.exe (只使用第二个CPU) start /WAIT /affinity 0x4 app.exe (只使用第三个CPU) start /WAIT /affinity 0x8 app.exe (只使用第四个CPU) start /WAIT /affinity 0x3 app.exe (只使用第1,2个CPU) st
kongxx
2018/05/14
1.8K0
LoadRunner参数传递给参数
需求:使用随机函数时,需要参数化某个参数,并且后面的步骤需要使用这个参数。 方法: 1 lr_save_string 该函数主要是将程序中的常量或变量保存为lr中的参数 2 lr_eval_string 从参数中取得对应的值,并且转换为一个字符串 测试: 在action里写: 1 lr_output_message("*****参数:%s********",lr_save_string(lr_eval_string("{NewParam}"),"name")); 2 lr_output_messag
全栈测试开发日记
2023/02/18
2.9K0
springmvc传递参数
一般情况我们在ajax提交数据,在controller中接收从参数,用的是@RequestParam,此时ajax配置如下:
sucl
2019/08/07
2K0
Shell 传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
陈不成i
2021/06/22
2.5K0
go 参数传递
http://stor.51cto.com/art/201712/559955.htm go 中都是值传递的,即使是map、切片这些。 只不过类型分为:
平凡的学生族
2019/05/25
2.1K0
点击加载更多

相似问题

通过main函数解析命令行参数

116

如何通过传递命令行参数来测试__name__ == "__main__“?

20

传递给Java main()的命令行参数中的引号

51

通过命令行php传递参数

32

通过变量传递命令行参数

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文