首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外部化默认配置属性

外部化默认配置属性
EN

Stack Overflow用户
提问于 2013-02-06 09:25:43
回答 1查看 157关注 0票数 2

很多项目都在使用配置文件,我发现了很多文章--如何读取这个配置文件,如何将它们外部化,但是我没有找到任何关于如何生成示例配置文件的信息。

例如,如果您有一个包含各种配置属性的company.config文件,我希望每次构建项目时都会从我的源代码中自动生成company.sample.config文件。此示例文件应包含项目使用的所有配置属性,以及默认值和注释。

我使用Java和Gradle,所以我想到了一个Gradle插件。

外面有这样的东西吗?其他人是如何解决这个问题的?

稍后编辑:一些示例:

代码语言:javascript
复制
public class CompanyConfig {
private static final String PROPERTY1_DEFAULT = "Company.property1_default";
private static final String PROPERTY2_DEFAULT = "Company.property2_default";

/**
 * description 1
 */
private static final String PROPERTY1 = "Company.property1";
/**
 * description 2
 */
private static final String PROPERTY2 = "Company.property2";

private Config config;

public CompanyConfig(Config config) {
    this.config = config;
}

public String getProperty1() {
    return config.getProperty(PROPERTY1, PROPERTY1_DEFAULT);
}

public String getProperty2() {
    return config.getProperty(PROPERTY2, PROPERTY2_DEFAULT);
}
}

BAsed在上面的代码中,sample.conf文件应该如下所示:

代码语言:javascript
复制
**description 1
*Company.property1=Company.property1_default

**description 2
*Company.property2=Company.property2_default

通过这种方式,我可以将sample.conf文件提供给想要配置项目的人。这个人不知道我的项目中的配置属性,所以他/她需要一个属性列表和每个属性的默认值。而且,由于引入了新的操作,并删除了其他一些操作,因此必须在每次构建时生成示例文件。

希望这能澄清我在这里的要求。

EN

回答 1

Stack Overflow用户

发布于 2013-02-06 09:36:11

你可以接受蚂蚁构建脚本的帮助。接受下面代码的帮助。

代码语言:javascript
复制
<project>
<target name="default">



<propertyfile file="company.sample.config" comment="sample properties here.">

<entry key="program.AUTHOR" default="RAIS" />
<entry key="program.COMPANY" default="IGT" />
<entry key="program.COPYRIGHT" default="now" type="date" pattern="yyyy" />
<entry key="program.DESCRIPTION" default="" />
<entry key="program.VERSION" default="1.0.0" />
<entry key="program.BUILDNUM" value="1" />
<entry key="program.BUILDDATE" type="date" value="now" pattern="yyyyMMDDHHmmss" />
</propertyfile>

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

https://stackoverflow.com/questions/14725537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档