我已经使用XML在我的dev box上配置了一个Modeshape工作区,指向:
workspaceRootPath="C:/jcr/modeshape/dev/..."我将部署到Linux,并在不同的卷上安装一个工作区:
workspaceRootPath="/jcr/modeshape/prod/..."是否可以使用环境变量来配置它,或者我是否需要求助于编程配置?Modeshape团队有推荐的方法吗?
谢谢
发布于 2012-03-16 21:11:14
如果您使用的是更高版本的ModeShape,则可以在配置文件中使用变量,该变量将在配置加载时替换为同名的系统属性的值。例如,如果您使用以下内容:
workspaceRootPath="${myWorkspaceDirectory}"并将系统属性"myWorkspaceDirectory“设置为"/foo/bar",则当ModeShape加载配置时,它会将该变量解析为等效的:
workspaceRootPath="/foo/bar"当然,变量可以只是属性值的一部分,甚至可以使用多个变量(只要它们不是嵌套的)。例如,这也是有效的:
workspaceRootPath="${my.system.root.path}/modeshape/${my.system.deploymentType}"最后,每个变量的语法是:
"${" systemPropName { "," systemPropName } [ ":" defaultValue ] "}"这允许在单个变量中指定一个或多个系统特性名称和一个可选的默认值。系统属性名称按从左到右的顺序进行计算,将使用第一个具有相应真实系统属性的名称。这是另一个人为设计的例子:
workspaceRootPath="${my.system.path1,my.system.path2,my.system.path3:/default/path}/modeshape/${my.system.deploymentType}"https://stackoverflow.com/questions/9736498
复制相似问题