Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IntelliJ IDEA模板变量与XML属性冲突_Xml_Templates_Ant_Intellij Idea - Fatal编程技术网

IntelliJ IDEA模板变量与XML属性冲突

IntelliJ IDEA模板变量与XML属性冲突,xml,templates,ant,intellij-idea,Xml,Templates,Ant,Intellij Idea,我发现自己在所有项目中都使用了非常类似的Ant构建脚本,所以我决定将build.xml作为模板。但是,IntelliJ IDEA的自定义模板变量的语法(在选择模板时它会要求)与Ant访问属性的语法完全相同 ${FULLY_QUALIFIED_CLASS_NAME} <- custom template variable that I leave undefined ${basedir} <- provided by Ant 但我也使用了其他内置

我发现自己在所有项目中都使用了非常类似的Ant构建脚本,所以我决定将build.xml作为模板。但是,IntelliJ IDEA的自定义模板变量的语法(在选择模板时它会要求)与Ant访问属性的语法完全相同

${FULLY_QUALIFIED_CLASS_NAME} <- custom template variable that I leave undefined
${basedir}                    <- provided by Ant
但我也使用了其他内置属性,比如
java.home
,它们也没有声明,也没有要求我提供这些声明


我如何才能绕过这个问题,说服IntelliJ不要管这些属性,让Ant为它们提供值?

我发现的解决方法是用稍微不同的名称来屏蔽这两个特定的值。例如,我使用了这条线



避免键入导致问题的特定符号。我通过给TStamp一个前缀重命名了DSTAMP:

<tstamp prefix="this"/>

所以现在我调用
${this.basedir}
${this.DSTAMP}
,IntelliJ很高兴。我仍然不知道它为什么会这样做,特别是对于这些值,但是屏蔽它们似乎是一个有效的解决方案

<property name="this.basedir" refid="basedir"/>
<dirname property="this.basedir" file="${ant.file}"/>
<!-- EDIT: for some reason, IntelliJ didn't like me refid'ing basedir.
     This works if ${ant.file} is in the project root. -->
<tstamp prefix="this"/>