apache-flex - 将 Flex 从 3.2 升级到 4.5 - 错误和警告

标签 apache-flex flex3 compiler-errors flex4.5 compiler-warnings

我继承了一个主要使用 Parsley 和 Cairngorm 以 Flex 3.2 编写的大型代码库。

整个构建过程是通过使用 FlexMojos 的 maven 完成的。

我对 Flex 比较陌生,有人告诉我将 Flex 从 3.2 升级到最新的 4.5.1 版本。

虽然我取得了不错的进展,但我遇到了一些我无法理解的错误,或者 Google 搜索无法提供帮助。

我做过的事情:

  • 将所有命名空间更改为 mxml 2009 和 fx。
  • 将所有非可视组件放在 fx:declarations 中。
  • 在我的样式表中添加了命名空间
  • FlexMojos 升级到 3.9 - 不是 4,因为还没有稳定版本
  • 将所有 cairngorm 依赖项升级到 Flex 4 依赖项,但保持相同的版本。
  • 独家声明我要在编译器设置中使用的主题是 halo.swc
  • 修复了许多微不足道的编译警告和错误。

  • 我不知道如何解决的事情:

    在编译时,我收到了很多关于 CSS 的警告。
    我收到的一个警告示例如下:

    [WARNING] C:\repo\com\adobe\flex\framework\framework\4.0.0.14159\framework-4.0.0.14159.swc$defaults.css:[487,-1] The style 'dropShadowVisible' is only supported by type 'mx.controls.List' with the theme(s) 'spark'.



    首先,我没有使用 4.0.014159,尽管有些东西告诉我依赖项是通过 Cairngorm 库(如验证或模块)提取的。
    如果是这样,有什么解决方案吗?

    我不明白如何解决的其他警告如下:

    [WARNING] The swc 'C:\repo\com\adobe\flex\framework\framework\4.5.1.21328\framework-4.5.1.21328.swc' has style defaults and is in the library-path, which means dependencies will be linked in without the styles. This can cause applications, which use the output swc, to have missing skins. The swc should be put in the external-library-path.



    关于上述内容,我在某处读到 swc 文件必须作为外部库路径加载。我这样做了,但警告并没有消失。

    最后,由于这些错误,应用程序无法编译。

    [ERROR] C:\repo\com\adobe\flex\framework\mx\4.5.1.21328\mx-4.5.1.21328.swc$defaults.css:[469,-1] Invalid Embed directive in stylesheet - can't resolve source 'Embed(source = "assets/CalendarIcon.png")'.



    我的代码库中没有对 CalendarIcon.png Assets 的引用。谷歌向我指出了这个 http://python.mmitd.com/bugs.adobe.com/jira/browse/SDK-22746 ,但恐怕我所做的一切都没有奏效。

    正如你所看到的,我的大部分警告/错误(至少现在)都围绕着 default.css 警告。

    任何帮助将不胜感激!

    最佳答案

    Flex 编译器默认使用 css,命名为“defaults.css”。如果您将 css 命名为“defaults.css”,请更改它的名称。
    它还将查找 flex-config,它应该与应用程序名称相同,否则它将从 sdk 文件夹中获取默认的 flex-config。有几个 css 属性,它们仅在 Flex 3 组件中可用。现在我们已经有了 Spark 组件架构,很少有属性可能根本不起作用并给你警告消息。
    如果您的机器上安装了 Flash Builder,您可以将项目导入其中,并一次查看一条警告消息并修复您的 .css 文件。

    希望它对您解决问题有所帮助..

    关于apache-flex - 将 Flex 从 3.2 升级到 4.5 - 错误和警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412681/

    相关文章:

    C++ 错误 : ‘string’ does not name a type

    c++ - XSD : value not in enumeration

    xml - 如何在flex中访问xml节点

    apache-flex - 如何在 Flex 中显示带有不同小数分隔符的数字

    apache-flex - 闪存/Flex : "Warning: filter will not render" problem

    java - Flex + Java + BlazeDS : Some java class instances already created on the server are unavailable from Flex!

    actionscript-3 - AS3 字符串内存泄漏

    apache-flex - 如何找出图像中的标注气泡?

    apache-flex - Actionscript 或 Flex 库哪个是正确的术语?

    postgresql - 记录和存储 Postgres 错误?