我的属性gwt.sdk
在其他任何地方扩展都很好,但不在路径/ pathelement中扩展:
<target name="setup.gwtenv">
<property environment="env"/>
<condition property="gwt.sdk" value="${env.GWT_SDK}">
<isset property="env.GWT_SDK" />
</condition>
<property name="gwt.sdk" value="/usr/local/gwt" /> <!-- Default value. -->
</target>
<path id="project.class.path">
<pathelement location="${gwt.sdk}/gwt-user.jar"/>
</path>
<target name="libs" depends="setup.gwtenv" description="Copy libs to WEB-INF/lib">
</target>
<target name="javac" depends="libs" description="Compile java source">
<javac srcdir="src" includes="**" encoding="utf-8"
destdir="war/WEB-INF/classes"
source="1.5" target="1.5" nowarn="true"
debug="true" debuglevel="lines,vars,source">
<classpath refid="project.class.path"/>
</javac>
</target>
例如,将$ {gwt.sdk}的回显放在上面,但不在“project.class.path”中。这是一个错误,还是我必须做一些我不是的事情?
编辑:我尝试将该资源从目标setup.gwtenv移至“全局空间”,这有助于解决问题。
答案 0 :(得分:0)
扩展不起作用还是只是回声?这是不同的,因为您不能将echo任务放在目标之外。在javac目标中尝试<echo message="${gwt.sdk}"/>
作为第一项任务。
全局<path>
之前未运行setup.gwtenv
目标。也许你可以在<path>
内移动setup.gwtenv
?
最后:路径创建时该位置是否存在?否则,该元件将被忽略。
答案 1 :(得分:0)
由于没有其他人回复我采取的解决办法是将${gwt.sdk}
移出setup.gwtenv
并进入“全球空间”。