java - 启动 Java 应用程序时如何在 .sh 文件中重新定义属性值
问题描述
我有一个脚本文件 app.sh:
java -DenabledFeature=true -jar filename [args]
当我启动脚本时:
./app.sh -DenabledFeature=false
代码在哪里
Boolean isFeatureEnabled = System.getProperty("enabledFeature", "true").equals("true")
该值始终为真;
如何将属性的值更改为 false?
解决方案
如果您总是通过 运行应用程序./app.sh -DenabledFeature=false
,则可以通过以下方式直接将命令行参数作为 java 参数传递:
java $1 -jar filename [args]
这里$1
将捕获第sh
一个参数。
更新,因为您可以将多个值作为参数传递,您可以检查是否为启用功能传递了错误值,例如:
应用程序.sh
#!/bin/bash
enabledFeature=true
if [[ "$*" =~ '-DenabledFeature=false']] ;
then
enabledFeature=false
#echo $enabledFeature
fi
java -DenabledFeature=$enabledFeature -jar filename [args]
推荐阅读
- php - 在 codeigniter 中没有选择数据库
- python - Jinja2 If 忽略布尔值
- html - 无法在 Outlook 中看到背景图像
- recursion - Verilog中可以递归实例化吗?
- java - 使用 2 个端口与 spring boot 和 spring 集成
- reactjs - 为什么我们不使用 let 而不是 States?
- c++ - 在一个 QtCreator 版本中使用 cmake 构建失败,而它与另一个版本以及来自终端的 catkin_make 一起使用
- getstream-io - Getstream - 按自定义字段过滤活动
- django - `basename` 参数未指定,并且可以'\
- java - Elasticsearch:使用 Java 客户端查找给定索引的所有映射类型