neX*_*Xus 1 setter environment-variables default-value maven
我有带有环境变量占位符的属性文件,如下所示:my.property=${env:ENVIRONMENT_PROPERTY}
mvn ... -DENVIRONMENT_PROPERTY=some_value如果在操作系统中设置了环境变量,则运行 maven (编辑:不是这样)会使其解析具有给定值的属性占位符。但如果环境变量不存在,则该值为空。
我希望环境变量有一个默认值。如果环境变量不存在,则应为其指定一个默认值,该值将在 pom 或某些属性文件或其他文件中指定。
属性占位符必须指向环境变量。
小智 10
您可以定义一个具有默认值的属性。
<your_property default-value="Undefined">${env.environent_variable_name}</your_property>
Run Code Online (Sandbox Code Playgroud)
就是这样!
如果你定义了environent_variable_namethenyour_property将等于它;否则,your_property将等于Undefined。
我使用了 felix fileinstall 插件 ( org.apache.felix.fileinstall) 这允许使用以下符号:
${env:ENVIRONMENT_PROPERTY:-default value}
这将从 ENVIRONMENT_PROPERTY 中获取值,如果未设置,则将采用“默认值”。
编辑:
如果你想从maven属性中获取默认值,你需要使用${dollar} hack:
${dollar}{env:ENVIRONMENT_PROPERTY:-${default.value}}
其中dollar是解析为美元符号 ( <dollar>$</dollar>) 的 Maven 属性,与括号组合时会变成分隔符{。
| 归档时间: |
|
| 查看次数: |
8930 次 |
| 最近记录: |