【问题标题】:Which Language Uses '@' Encapsulated Variables哪种语言使用“@”封装变量
【发布时间】:2011-04-25 15:49:41
【问题描述】:

我试图通过在我的 Windows 机器上的调试器中单步执行一个相当大的 Java 项目来弄清楚它是如何工作的,但是为了让它通过其初始化例程,多个 .properties 文件中的所有值必须是正确的。其中许多 .properties 文件包括以下行:

program.root=file://@program.root.dir@

如果我能弄清楚这些变量中的任何一个的默认值或安全值是什么,这将对我的理解非常有帮助,但我不知道应该如何解释它们。我知道它没有在我的系统上运行,因为通过单步执行代码,我可以看到一个指向“file://@program.root.dir@”的 URI,一旦使用它就会导致错误。但我的系统与 Linux 生产服务器相差甚远,因此可能缺少一些重要的东西。

所以我的问题是,什么编程/脚本语言或虚拟机或环境使用@enclosed@ 变量?众所周知,这种东西很难搜索,因为互联网不允许搜索“@”。

【问题讨论】:

    标签: programming-languages properties-file config-files


    【解决方案1】:

    autoconf 可以使用这些,尤其是在输入脚本中。在输出时,那些@foo@ 被替换为其他东西。

    【讨论】:

    • 虽然这似乎与情况直观相关——许多配置文件可能会因所部署的系统而异,但我在存储库的任何地方都看不到任何 configure.ac 或 configure.in 文件,在运行程序的内部说明中也没有提及 autoconf。但我仍在努力寻找可以看的地方。
    • 有 bootstrap.sh 吗?如果是,运行它,它将生成配置脚本。
    • 不幸的是,没有。我开始认为这些只是需要手动配置的变量,设计师刚刚决定指示一些变量@like.so@。用户指南(各种)中有一行写着“确保所有配置文件都是正确的”。但没有比这更详细的了。
    • 我猜这只是一些奇怪的程序员约定,因为我有理由相信这些替换不会在运行时发生。但是由于这是对我的问题的一个很好的答案,尽管具有讽刺意味的是,它不是我问题的解决方案(或者如果是这样,那么它隐藏得很好),我会接受它。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2011-04-24
    • 1970-01-01
    相关资源
    最近更新 更多