apache-flex - 从 4.1.0 升级到 Flex SDK 4.5.1 会导致某些 mx 组件出现命名空间编译错误

标签 apache-flex maven flash-builder flexmojos

我有一个 Flash 构建器项目,正在从 SDK 4.1.0 迁移到 4.5.1。这是一个相对容易的更改(我们使用 Maven 进行构建,并且在更新到 4.5.1 依赖项后能够成功构建)。

如上所述,该项目使用 Maven 和 Flexmojos 构建得很好。问题是在 flash builder 中打开项目时。导入maven项目,然后通过运行maven flexmojos:flexbuilder构建命令将其设置为flex项目。

问题在于,当 IDE 不再接受使用 s: 命名空间指定的某些 mx 组件时,会导致错误。例如,要编译以下内容:

<s:states>
    <s:State name="normal" />
    <s:State name="disabled" />
</s:states>

s:State 必须更改为 mx 命名空间:

<s:states>
    <mx:State name="normal" />
    <mx:State name="disabled" />
</s:states>

这只是一个示例,并且仅发生在某些 Spark 命名空间组件中。为什么是这样? 为什么使用 Flex SDK 4.1.0 可以编译正常,但使用 Flex SDK 4.5.1 则不行,以及导致必要的命名空间更改的原因是什么?

最佳答案

我在使用 FlexMojos 时也发现了同样的问题,因为 Adob​​e 似乎做了一些小技巧,为 mx 组件(如 State 和 Spacer)指定 Spark 命名空间。

此外,如果您使用的是 flexmojos:flexbuilder,则意味着您还使用的是旧版本的 FlexMojos(3.8?)。现在有版本 4.0 (RC2),但是,flexbuilder 目标现在已被删除。

Anywho,回到你的问题,我在我的项目中以另一种方式看待它(s:Spacer 在 Flash Builder 中工作,而不是在 FlexMojos 中)。就我个人而言,我认为这些命名空间不应该相交,并且作为开发人员,更容易指定确切的命名空间,而不必担心命名空间的欺骗。

关于apache-flex - 从 4.1.0 升级到 Flex SDK 4.5.1 会导致某些 mx 组件出现命名空间编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604441/

相关文章:

android - 有没有办法在 Adob​​e Flex Mobile 应用程序中发现本地网络设备

android - 如何将应用程序 Android 与 amf 网络服务连接?

java - 得到 JdkVersion classNotFoundException

java - 在 Websphere 中查找所有提供的 jar

java - 尽管 tomcat 正在运行且 jsp 可用,但 HTTP 状态 404 请求的资源不可用错误?

flash - 在哪里可以下载旧版本的 Adob​​e Flex SDK?

java - 如何检测 Maven Artifact 的发布/快照版本控制?

actionscript-3 - Adobe Air mobile - 使用 SkinClass 允许滚动时,softKeyboardType 不起作用?

actionscript-3 - 是否有可能将 'trap' 子 swf 跟踪语句发送到父 swf?

actionscript-3 - photoshop 事件文档