3

我有一个 Intellij 模块,它使用另一个模块作为库。可以使用以下方式链接库:Merged、External、Include 或 Test。

这四个选项是什么意思?他们的行为有何不同?

在 Intellij 论坛上,有人提到“Merged”和“External”类似于 Flash Builder 的“Merged into code”和“Runtime shared library”。但是如果是这样的话,Include 和 Test 做什么呢?

4

1 回答 1

13

IntelliJ 文档仅链接到Adob​​e 对 RSL 的描述,但这就是四种设置的工作方式:

  • 合并

    链接项目中实际使用的所有库符号,并将它们包含到目标二进制文件中。这应该是创建 SWF 可执行文件的默认设置。

  • 包括

    链接库中的所有符号,无论是否使用它们,并将它们包含到目标二进制文件中。这在创建扩展库(包括您正在扩展的具有附加功能的模块,以便您以后只需要包含一个 SWC)或getDefinitionByName经常使用时很有用。

  • 排除

    在编译时链接库类,但不它们包含到目标二进制文件中。这意味着目标二进制文件仍然很小,但是当然,排除的依赖项必须要么编译到其他库中,要么作为 RSL 存在以在运行时可用——没有它们,程序就无法运行。此设置在创建库 SWC 时特别有用,否则每个库 SWC 都将包含 playerglobal.swc 及其所有其他依赖项。

  • 测试

    库类仅包含在用于 FlexUnit 测试的临时二进制文件中。这可以防止 FlexUnit 框架本身以及其他测试框架(例如 Hamcrest 或 Mockolate)使生产二进制文件膨胀。

于 2013-01-11T10:03:34.513 回答