2009-07-17 83 views
3

我有一个我已经构建的代码库。它依赖于其他2个(第三方)库。目前,当我将库编译为swc时,都包含第三方库。我正在寻找一种方法来编译我的代码库对第三方库,但不包括他们在编译的SWC。使用COMPC编译SWC,不包括第三方库

这显然意味着任何使用我的库的人都需要这两个库,但我更喜欢这种方式。我没有使用Flex/Flashbuilder,我知道它允许您选择要包含在swc中的类。

谢谢

回答

6

-external-library-path + = my.swc是答案,尽管不需要使用-runtime-shared-libraries。使用这个参数可以让你指定编译时使用的代码,但不能放入swc中。显然这个排除的clode在使用swc时仍然是需要的。

特别值得注意的是,与其他参数不同,-external-library-path使用+ = not =。通过使用just =,您将会将参考文献分解为玩家低级别类和其他任何外部库的添加。

如果您正在使用FlexTasks瓦特/蚂蚁,你的目标可能是这样的:

<target name="compileToSWC"> 
    <compc 
     output="${bin}/${SWCName}"> 
      <source-path path-element="${src}"/> 
      <!-- Source to include in SWC --> 
      <include-sources dir="${src}" includes="*"/> 
      <!-- Libs to exclude from the swc - Note append="true" which is equivillant to using +=--> 
      <external-library-path file="${thirdparty.libs}/SomeLib.swc" append="true"/> 
      <external-library-path file="${thirdparty.libs}/SomeOtherLib.swc" append="true"/> 
    </compc> 
</target> 

您也可以指向外部库的文件夹路径在这种情况下,包括里面的所有的SWC。请注意,如果您遵循Adobe的FlexTasks指南并将flexTasks.jar文件放入libs文件夹并使用external-library-path将其作为文件夹进行定位,则flexTasks.jar本身将被排除,导致构建失败。为了解决这个问题,可以将flexTasks.jar放在一个单独的文件夹中,或者像上例中那样直接定位swcs

0

我不认为你可以只要求别人有依赖关系。它可以使用第三方库作为运行时共享库​​,您需要url上提供的第三方库并在编译​​时使用以下内容。 查看Adobe docs for full details about RSLs

相关问题