0

XML を使用して開発ボックスに Modeshape ワークスペースを構成しました。

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

ワークスペースを別のボリュームにマウントして Linux にデプロイします。

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

これを構成するために環境変数を使用することは可能ですか、それともプログラムによる構成に頼る必要がありますか? Modeshape チームが推奨するアプローチはありますか?

ありがとう

4

1 に答える 1

1

それ以降のバージョンの ModeShape を使用している場合は、構成ファイルで変数を使用できます。この変数は、構成の読み込み時に同じ名前の System プロパティの値に置き換えられます。たとえば、次を使用する場合:

workspaceRootPath="${myWorkspaceDirectory}"

システム プロパティ "myWorkspaceDirectory" を "/foo/bar" に設定すると、ModeShape が構成をロードするときに、変数が同等のものに解決されます。

workspaceRootPath="/foo/bar"

もちろん、変数は属性値の一部に過ぎず、複数の変数を使用することもできます (ネストされていない限り)。たとえば、これも有効です。

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

最後に、変数の文法は次のとおりです。

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

これにより、1 つ以上のシステム プロパティ名とオプションのデフォルト値を 1 つの変数内で指定できます。システム プロパティ名は左から右に評価され、対応する実際のシステム プロパティを持つ最初のものが使用されます。別の不自然な例を次に示します。

workspaceRootPath="${my.system.path1,my.system.path2,my.system.path3:/default/path}/modeshape/${my.system.deploymentType}"
于 2012-03-16T13:11:13.950 に答える