maven占位符

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

原文地址:https://www.cnblogs.com/usual2013blog/p/4455906.html