【问题标题】:Modeshape configuration - combine XML + programmatic?Modeshape 配置 - 结合 XML + 编程?
【发布时间】:2012-03-16 21:11:13
【问题描述】:

我已经使用 XML 在我的开发盒上配置了一个 Modeshape 工作区,指向:

workspaceRootPath="C:/jcr/modeshape/dev/..."

我将部署到 Linux,并将工作空间安装在不同的卷上:

workspaceRootPath="/jcr/modeshape/prod/..."

是否可以使用环境变量来配置它,还是我需要求助于编程配置? Modeshape 团队有没有推荐的方法?

谢谢

【问题讨论】:

    标签: jcr modeshape


    【解决方案1】:

    如果您使用的是更高版本的 ModeShape,您可以在配置文件中使用一个变量,该变量将在配置加载时替换为同名系统属性的值。例如,如果您使用以下内容:

    workspaceRootPath="${myWorkspaceDirectory}"
    

    并将系统属性“myWorkspaceDirectory”设置为“/foo/bar”,然后当 ModeShape 加载配置时,它会将变量解析为等效项:

    workspaceRootPath="/foo/bar"
    

    当然,变量可以只是属性值的一部分,你甚至可以使用多个变量(只要它们没有嵌套)。例如,这也是有效的:

    workspaceRootPath="${my.system.root.path}/modeshape/${my.system.deploymentType}"
    

    最后,each变量的语法是:

    "${" systemPropName { "," systemPropName } [ ":" defaultValue ] "}"
    

    这允许在单个变量中指定 1 个或多个系统属性名称和可选的默认值。系统属性名称从左到右进行评估,将使用第一个具有相应真实系统属性的名称。这是另一个人为的例子:

    workspaceRootPath="${my.system.path1,my.system.path2,my.system.path3:/default/path}/modeshape/${my.system.deploymentType}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多