首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Flex一起使用ANT时,构建依赖的目标失败。

与Flex一起使用ANT时,构建依赖的目标失败。
EN

Stack Overflow用户
提问于 2012-11-02 06:11:06
回答 1查看 999关注 0票数 0

我有一个名为framework的flex项目和另一个名为commons的项目。公域依赖于框架。

框架的构建脚本:

代码语言:javascript
复制
<project name="imanager-framework" basedir=".">

    <property name="src" location="src"/>   
    <property name="dist" location="dist"/> 
    <property name="FLEX_HOME" value="C:/Program Files (x86)/Adobe/Adobe Flash Builder 4.5/sdks/4.6.0"/>        

    <taskdef resource="flexTasks.tasks" classpath="${basedir}/libs/flexTasksFlash4.jar"/>

    <target name="clean">       
        <delete dir="${dist}"/>
    </target>

    <target name="dist">
        <echo>src dir: ${src}</echo>
        <mkdir dir="${dist}"/>
        <compc output="${dist}/${ant.project.name}.swc">
            <source-path path-element="src" />
            <library-path dir="libs" includes="*.swc" append="true"/>
            <include-sources dir="${src}" includes="*" />           
        </compc>
    </target>

</project>

公域的构建脚本:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project name="imanager-commons" basedir=".">

    <property name="src" location="src"/>   
    <property name="dist" location="dist"/> 
    <property name="FLEX_HOME" value="C:/Program Files (x86)/Adobe/Adobe Flash Builder 4.5/sdks/4.6.0"/>        

    <taskdef resource="flexTasks.tasks" classpath="${basedir}/libs/flexTasksFlash4.jar"/>

    <target name="clean">       
        <delete dir="${dist}"/>
    </target>

    <target name="init">
        <echo>Running Target: init</echo>
        <echo>Running ant dist on framework</echo>
        <!-- THIS PART FAILS --> <ant dir="../framework/" target="dist" inheritall="false"/> 
        <copy file="../framework/dist/imanager-framework.swc" todir="libs"/>
    </target>

    <target name="dist" depends="init">
        <mkdir dir="${dist}"/>
        <compc output="${dist}/${ant.project.name}.swc">
            <source-path path-element="src" />
            <library-path dir="libs" includes="*.swc" append="true"/>
            <include-sources dir="${src}" includes="*" />           
        </compc>
    </target>

</project>

从commons文件调用<ant>会给出错误的编译错误,比如错误的导入和未找到的类。但是单独运行框架的构建不会出现任何错误。

这是我得到的一些输出

代码语言:javascript
复制
Buildfile: E:\flexspace\imanager\commons\build.xml
init:
     [echo] Running Target: init
     [echo] Running ant dist on framework
Trying to override old definition of task asdoc
Trying to override old definition of task compc
Trying to override old definition of task mxmlc
Trying to override old definition of task html-wrapper
dist:
     [echo] src dir: E:\flexspace\imanager\framework\src
    [compc] Loading configuration file C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.6.0\frameworks\flex-config.xml
...some warnings from my code here...
    [compc] E:\flexspace\imanager\framework\src\com\iwobanas\controls\dataGridClasses\MDataGridColumn.as(72): col: 88 Error: Access of undefined property WildcardFilterEditor in package com.iwobanas.controls.dataGridClasses.filterEditors.
    [compc]             filterEditor = new ClassFactory(com.iwobanas.controls.dataGridClasses.filterEditors.WildcardFilterEditor);
    [compc]                                                                                                 ^
    [compc] E:\flexspace\imanager\framework\src\com\iwobanas\controls\dataGridClasses\MDataGridColumn.as(24): col: 60 Error: Definition com.iwobanas.controls.dataGridClasses.filterEditors:WildcardFilterEditor could not be found.
    [compc]     import com.iwobanas.controls.dataGridClasses.filterEditors.WildcardFilterEditor;
    [compc]                                                               ^
    [compc] E:\flexspace\imanager\framework\src\org\syspire\erp\component\tooltip\components\ExtendedToolTip.as(3): col: 48 Error: Definition org.syspire.erp.component.tooltip.skins:ExtendedToolTipSkin could not be found.
    [compc]     import org.syspire.erp.component.tooltip.skins.ExtendedToolTipSkin;
    [compc]                                                   ^
    [compc] E:\flexspace\imanager\framework\src\org\astrika\shared\components\gridSearch\view\SearchDatePopup.mxml(14):  Error: Type was not found or was not a compile-time constant: SearchDateView.
    [compc]         <gridSearch:SearchDateView id="searchDateView"/>
...similar errors...
BUILD FAILED
E:\flexspace\imanager\commons\build.xml:17: The following error occurred while executing this line:
E:\flexspace\imanager\framework\build.xml:17: compc task failed

Total time: 4 seconds

这里出什么问题了?

谢谢

编辑

根据请求,下面是配置转储:

使用Flash构建框架:http://pastebin.com/kLai6j7X

使用ANT:http://pastebin.com/FGHBAXZX构建框架

使用ANT调用来自公域的框架构建:(这与前一个转储相同)

UPDATE我最后只是更改了构建文件的结构,以消除<ant>调用。我现在如何为所有的项目一个build.xml,将所有的目标在它。不漂亮,但对我有用。

EN

回答 1

Stack Overflow用户

发布于 2012-11-02 12:31:10

这个话题有点离题,但我发现Ant在管理Flex项目的构建方面做得不好,特别是当您有依赖关系时。

您考虑过在FlexMojos中使用Maven吗?Adobe发布了关于这个伟大工具的系列文章。很受推荐!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13190210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档