我目前正在从事多模块Maven项目。它具有以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>${*}</delimiter>
<delimiter>@@</delimiter>
</delimiters>
</configuration>
</plugin>
从Maven文档中,尚不清楚这到底是要做什么。有人可以帮我理解这一点。
答案 0 :(得分:0)
如果您还定义了要过滤的资源集,则标记有这些定界符的占位符将被其各自的属性值替换。
这意味着如果您配置要过滤的主要资源:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
您有一个文件src/main/resources/test.txt
,内容如下:
The current project version is @@project.version@@
然后将使用以下内容在target/classes/test.txt
中过滤并创建该文件:
The current project version is 1.0-SNAPSHOT
默认分隔符允许使用${key}
或@key@
标记占位符,您的示例将其更改为${key}
和@@key@@
。
也请检查https://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html#useDefaultDelimiters以获得更多详细信息。