Maven 2 对于Maven,我如何防止Maven过滤某些属性而允许其他属性?
问题是我试图构建一个资源中包含build.xml文件的项目。基本上,我用Maven2将我的项目打包为一个jar,然后使用ant安装程序安装我的项目 build.xml文件中有一个名为build.date的属性需要过滤,但还有一些其他属性我不想过滤,比如${basedir},因为ant安装程序使用它,但被Maven的basedir变量替换。所以,我需要告诉Maven如何过滤${build.date},而不是${basedir} 我尝试将“basedir=${basedir}”作为属性之一创建一个属性文件作为筛选器,但出现以下错误: 解析表达式:“${basedir}”:检测到以下递归表达式循环:[basedir] 如有任何建议,将不胜感激 谢谢Maven 2 对于Maven,我如何防止Maven过滤某些属性而允许其他属性?,maven-2,ant,Maven 2,Ant,问题是我试图构建一个资源中包含build.xml文件的项目。基本上,我用Maven2将我的项目打包为一个jar,然后使用ant安装程序安装我的项目 build.xml文件中有一个名为build.date的属性需要过滤,但还有一些其他属性我不想过滤,比如${basedir},因为ant安装程序使用它,但被Maven的basedir变量替换。所以,我需要告诉Maven如何过滤${build.date},而不是${basedir} 我尝试将“basedir=${basedir}”作为属性之一创建一个属
据我所知,这是不可能的,你不能阻止maven过滤给定的属性。因此,要么:
- 不要在
中使用像build.xml
这样的Maven属性(如果可能的话)${basedir}
- 不要使用Maven筛选,而是使用Maven Antrun插件替换
,并且仅替换此属性(请参阅)${build.date}
- 更改资源插件的参数,并在
中使用例如build.xml
而不是@build.date@
${build.date}
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.2</version> <configuration> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>@</delimiter><!-- for Ant-like tokens style --> </delimiters> </configuration> </plugin>
org.apache.maven.plugins maven资源插件 2.4.2 假的 @