【问题标题】:I want to change a property name at runtime in java我想在运行时在 java 中更改属性名称
【发布时间】:2018-01-10 12:53:15
【问题描述】:

我正在研究 java maven 项目。 我添加了一个属性为

mapred.input = value

现在我想修改为

mapred.input.tablename = value

这样我就可以使用这个属性如下:

mapred.input.table1 = value
mapred.input.table2 = value

请有人帮我解决这个问题。应该如何添加属性,以便我可以将此属性用于不同的表。

谢谢

【问题讨论】:

  • System.setProperty ??

标签: java maven properties


【解决方案1】:

设置新属性,清除旧属性

System.setProperty("mapred.input.tablename", System.getProperty("mapred.input"));
System.clearProperty("mapred.input");

【讨论】:

    【解决方案2】:

    您可以将属性键/值对定义为

    mapred.input.{table}= {value}
    

    使用MessageFormat(从java.text包导入)通过传递参数值来格式化消息,如下所示,

    String message = "mapred.input.{table}= {value}";
    MessageFormat mf = new MessageFormat(message);
    String strMsg = mf.format(new Object[] {"table1","value1"});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多