我有一個Flash Builder項目,我正在從SDK 4.1.0遷移到4.5.1。這是一個相對容易的改變(我們正在使用maven來編譯我們的版本,並且在更新到4.5.1依賴關係後能夠獲得成功的版本)。從4.1.0升級到Flex SDK 4.5.1會導致某些mx組件的命名空間編譯錯誤
如上所述,該項目使用maven和flexmojos構建得很好。問題是在Flash Builder中打開項目時。 maven項目被導入,然後通過運行maven flexmojos:flexbuilder
build命令將其設置爲flex項目。
問題在於,使用s:命名空間指定的某些mx組件不再被IDE接受,並導致錯誤。例如,對於下面的編譯:
<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>
這只是一個例子,僅發生於特定的火花命名空間中的組件。爲什麼是這樣? 爲什麼使用Flex SDK 4.1.0編譯爲OK,而不是使用Flex SDK 4.5.1,以及必需的命名空間更改的原因是什麼?
雖然聽到我並不是唯一一個看到這個問題的人,但很高興能夠確認Adobe對他們的組件所做的確切更改。名稱空間是否明顯改變,是因爲Adobe在之前「翻譯」了xmlns名稱空間,或者是否存在實際的組件名稱空間更改? –