2011-01-04 17 views
2

ファイル内の内部式だけを解釈するにはどうすればよいですか?Maven式の解決の問題

<context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>${artifactId}.root</param-value> //${artifactId} gets resolved 
</context-param> 

とlog4j.propertiesにこのライン

log4j.appender.logfile.File=${${artifactId}.root}\WEB-INF\resources\${${artifactId}.root}.log 

インナーがあります:私は作成してい原型以内に、リソースのweb.xml要素がある

:コンクリート状況です式はmavenによって解釈されるべきですが、外側はlog4jのためではありません。それは内部のものだけを解決すべきであることを認識していますか?それを見ない。

答えて

1

これをmavenで試したことはありませんが、代わりにこのようなことをすることはできますか?

<properties> 
    <log.root>${artificatId}.root</log.root> 
</properties> 

あなたはmaven-resources pluginからescapeStringを見てしたいと思います。

+0

私はそれがどんな助けになるのか理解できません。代わりにlogfile.File = $ {artifactId} .root ...これは、logfile.File = $ {myapp.root }解決後、log4jはそれ自体を解決することができます – lisak

+0

@lisak:申し訳ありませんが、私はあなたの質問を誤解しました。ここをクリックしてください:http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html#escapeString – Jeremy

+0

ありがとう、それはまさに私が必要なものです... – lisak