maven占位符默認是${}
也可以自己指定。
pom.xml配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>$[*]</delimiter>
</delimiters>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
如果applicationContext.xml配置文件里面配置如下:
<bean id="senderKafka" class="com.*.epp.kafka.SendKafka">
<property name="metadataBookerList" value="$[metadata.broker.list]" />
<property name="requestRequiredAcks" value="${request.required.acks}" />
<property name="serializerClass" value="${serializer.class}" />
</bean>
運行build.xml之后,上面配置信息變成
<bean id="senderKafka" class="com.*.epp.kafka.SendKafka">
<property name="metadataBookerList" value="10.27.25.161:9092,10.27.25.163:9093" />
<property name="requestRequiredAcks" value="${request.required.acks}" />
<property name="serializerClass" value="${serializer.class}" />
</bean>
$[]直接由maven處理了,
上面的${request.required.acks}和${serializer.class}會由spring讀取application.properties來賦值。
使用 Maven 時,工作主要是通過插件來執行的。在構建周期中,Maven 2 通過遵循一系列定義好的階段,將這些插件協調起來
maven遠程倉庫和鏡像區別
遠程倉庫是在POM文件中配置,遠程倉庫包括中央倉庫(maven源代碼中配置的默認的),私服(局域網內架設),其他遠程公共庫(比如java.net maven庫和JBoss Maven庫)
鏡像是在setting.xml文件中配置。使用鏡像替代中央倉庫
https://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html
這個鏈接很好的介紹了maven定界符(占位符)的使用
http://blog.sina.com.cn/s/blog_a49b04f60101c2gr.html