我正在尝试为大约 10 个相关资产设置生产环境。某些元素(视觉元素和其他元素)将在 10 个资产之间共享。在 Flash Builder 4 中,我将每个项目都视为其自己的 Pure AS3 项目。
每个资产都有一个关联的 .fla 文件,它将 .swc 输出到该资产的 libs 文件夹中 - 最终编译将通过 ant 完成,顶层源代码是每个 Flash Builder 项目中的主 .as 文件。
因为某些元素在多个资产之间共享,所以我在我的工作区中创建了一个 Flex 库项目。这个库项目有一个标准结构的 /src 文件夹,以及一个我坚持的 /lib/ 文件夹,例如 greensock 的 TweenLite。
除了源代码和第三方 .swc,Library 项目还有一个 FLA,可以将 .swc 导出到 /lib/ 文件夹中。
这是问题所在:我无法在我的相关项目中看到来自该 .swc 的库导出。理论上,我从 Flex 库项目的 .fla 库中导出的每个类都应该编译到库项目的 .swc 中。我发现情况并非如此,我不清楚为什么。
我将继续挖掘,但我想把它扔在这里,以防其他人遇到这些问题。有人知道我在做什么错吗?
编辑:显然我的 greensock .swc 也没有被编译到最终输出中。昨天是这样。我不确定发生了什么变化。我想我的问题,提炼出来,是这样的:如何确保我的 Flex 库项目的构建路径中包含的 .swc 文件的所有类都包含在 FLP 生成的最终 .swc 中?
EDIT2:我发现了一种可怕的解决方法。现在我已经在我的 src 文件夹中创建了一个类,并且我声明了我想要从我的任何 .swc 中包含的任何内容 - 例如,public var tweenLite:TweenLite、public var logo:Logo 等。我发现如果我在我的一个源文件中声明它,那么我可以在相关项目中访问它。仅导入它是不够的——这意味着我必须手动声明我想要访问的每个类。一定会有更好的办法。我错过了什么?