0
votes

I have 4 flex project,3 are modules,1 is application. compile these project with Flash Builder,integrate and run,is ok. But when I compile these use maven script(Flex SDK merged into code).integrate and run,pop up error: VerifyError: Error #1014: Class mx.controls::List could not be found.

Somebody said because a library was loaded as external. is that playerglobal.swc???? but after I change my pom.xml like this,seem like nothing changed.

<dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>playerglobal</artifactId>
          <version>${flex.sdk.version}</version>
          <type>rb.swc</type>
          <classifier>en_US</classifier>
          <scope>external</scope>
        </dependency>
1
Definitely not playerglobal.swc: that contains only ActionScript classes. mx List is located in mx/mx.swc.RIAstar
It's not just the mx.controls.List class, I’ve tried, if there is mx.controls.List, it's sure other class less. It seems like the Flex SDK framework was incomplete.Shawn

1 Answers

0
votes

Did you add all Flex dependencies? Do your modules use Flex SDK with scope external? If so, does your application (which I assume, loads those modules) includes those classes?

When you use List in Module A and SDK is in scope external, then Module A expects that List will be available during runtime from Application. If you don't compile List into Application (as in, use List in Application) then Module A will complain about missing List class.

This is how Adobe decided to handle SWF optimizations :( Classes that are not used in Application or Module are not compiled into resulting SWF.