Ant 蚂蚁<;mxmlc>;使用AIR sdk时任务失败(compiler.jar不存在)
我有一个在FlashDevelop中构建的项目。它不是AIR应用程序,但因为我们使用的是Starling,所以我们使用AIRSDK(v14)进行编译。从FlashDevelop运行该项目运行良好。我正在编写一个ANT脚本,最终将在Hudson中使用。运行脚本时出现以下错误:Ant 蚂蚁<;mxmlc>;使用AIR sdk时任务失败(compiler.jar不存在),ant,build,air,Ant,Build,Air,我有一个在FlashDevelop中构建的项目。它不是AIR应用程序,但因为我们使用的是Starling,所以我们使用AIRSDK(v14)进行编译。从FlashDevelop运行该项目运行良好。我正在编写一个ANT脚本,最终将在Hudson中使用。运行脚本时出现以下错误: BUILD FAILED C:\project\client\build.xml:50: File does not exist: compiler.jar at com.adobe.flash.compiler.
BUILD FAILED
C:\project\client\build.xml:50: File does not exist: compiler.jar
at com.adobe.flash.compiler.ant.FlexTask.resolveClass(FlexTask.java:404)
at com.adobe.flash.compiler.ant.FlexTask.executeInProcess(FlexTask.java:
300)
at com.adobe.flash.compiler.ant.FlexTask.execute(FlexTask.java:260)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
cutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
这是ANT脚本
<project name="Flex Ant Build Script" default="init">
<property environment="env"/>
<property name="FLEX_HOME" value="${env.FLEX_HOME}" />
<property name="AIRSDK_HOME" value="C:/Users/user/AppData/Local/FlashDevelop/Apps/ascsdk/14.0.0" />
<taskdef resource="flexTasks.tasks" classpath="${AIRSDK_HOME}/ant/lib/flexTasks.jar"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${env.ANT_HOME}/lib/ant-contrib-0.6.jar" />
</classpath>
</taskdef>
<target name="init">
<property name="INPUT_FILE_NAME" value="Main.as"/>
<property name="OUTPUT_FILE_NAME" value="Main"/>
<property name="OUTPUT_FILE_EXT" value="swf"/>
<property name="SRC_DIR" value="${basedir}/src"/>
<property name="OUTPUT_FOLDER" value="${basedir}/deploy"/>
<property name="DEBUG" value="false"/>
<property name="OPTIMIZE" value="true"/>
<property name="LOCALE" value="en_US"/>
<property name="STATIC_LINK" value="true"/>
<property name="STRICT" value="false"/>
<property name="WARNINGS" value="false"/>
</target>
<target name="clean" depends="init">
<delete includeemptydirs="true" verbose="true">
<fileset dir="${OUTPUT_FOLDER}" includes="**/*"/>
</delete>
</target>
<target name="compile" depends="init">
<echo>output = ${OUTPUT_FOLDER}/${OUTPUT_FILE_NAME}.${OUTPUT_FILE_EXT}</echo>
<echo>${AIRSDK_HOME}</echo>
<property name="AIR_LIB" value="C:/Users/user/AppData/Local/FlashDevelop/Apps/ascsdk/14.0.0/frameworks/libs/air"/>
<mxmlc file="${SRC_DIR}/${INPUT_FILE_NAME}"
output="${OUTPUT_FOLDER}/${OUTPUT_FILE_NAME}.${OUTPUT_FILE_EXT}"
debug="${DEBUG}"
optimize="${OPTIMIZE}"
locale="${LOCALE}"
static-rsls="${STATIC_LINK}"
strict="${STRICT}"
warnings="${WARNINGS}">
<library-path dir="${AIRSDK_HOME}" includes="asc-support.swc" append="true"/>
<library-path dir="${AIRSDK_HOME}" includes="core.swc" append="true"/>
<library-path dir="${AIR_LIB}" includes="aircore.swc" append="true"/>
<library-path dir="${AIR_LIB}" includes="applicationupdater.swc" append="true"/>
<library-path dir="${AIR_LIB}" includes="applicationupdater_ui.swc" append="true"/>
<library-path dir="${AIR_LIB}" includes="servicemonitor.swc" append="true"/>
</mxmlc>
</target>
output=${output\u FOLDER}/${output\u FILE\u NAME}.${output\u FILE\u EXT}
${AIRSDK_HOME}
我已经对Flex和AIR的FlexTasks.jar进行了深入研究,它们有很大的不同(应该是这样的)。我尝试将FlexTasks.jar从每个ant/lib移动到${ant_HOME}/lib,但没有成功(正如我在其他帖子中所读到的)。现在我完全陷入了僵局,因为我是一个相对较新的蚂蚁。任何帮助都将不胜感激
感谢ant
任务的文档记录不完整,其行为与mxmlc
命令的CLI版本不同,并且AIRSDK没有提供任务所需的mxmlc.jar
我已经放弃了,尽管我尝试过几次
通过ANT使用命令行版本。我在下面的代码中使用了您的财产名称
,例如您的${LOCALE}
和${STATIC\u LINK}
Oh和compiler.jar位于AIR sdk下的“lib”文件夹中