阅读(1395) (10)

IntelliJ IDEA模块化应用程序配置依赖项

2018-03-01 10:39:42 更新

此功能仅在Ultimate版本中受支持。

在 IntelliJ IDEA 中有两种配置模块化应用程序的依赖项的方法:一种方法是在主应用程序(也称为 shell)的构建配置中列出运行时加载模块(RLM)的主要类(这种方式不需要为模块创建构建配置);另一种方法是为每个 RLM 创建构建配置,然后在主应用程序的构建配置中指定对这些构建配置的依赖项。

下面讨论这两种方法及其优点和缺点。

  • 列出主要的 RLM 类来指定依赖项
  • 列出 RLM 构建配置来指定依赖项

    列出主要的RLM类来指定依赖项

    如果主应用程序的源代码及其运行时加载的模块位于同一个 IntelliJ IDEA 模块中,则可以在主应用程序的构建配置中列出主要的 RLM 类。另外,如果你想针对主应用程序优化一个模块(这大大减少了编译模块文件的大小),你可以通过在 UI 中打开相应的选项来实现。

    请注意,这种指定依赖项的方式适用于 Web 和桌面应用程序,但不适用于移动应用程序。

    优点:

    • 您不需要为您的模块(RLM)创建构建配置。
    • 要使用 load-externs 和 link-report 编译器选项,您不需要手动指定它们,UI 中会提供一个复选框来打开或关闭模块优化。

    缺点:

    • 应用程序和模块使用同一组编译器选项。
    • 主应用程序和模块的源代码必须位于同一个 IntelliJ IDEA 模块中。

    以下是要使用的程序的主要步骤:

    1. 打开主应用程序的构建配置设置。
    2. 在“常规(General)”选项卡上的“运行时加载的模块(Runtime-loaded modules)”字段的右侧,单击 。(或者,单击该字段并按 Shift+Enter。)
    3. 在打开的 Runtime-Loaded Modules 对话框中,单击 (Alt+Insert)。
    4. 在打开的“选择主要运行时加载模块类(Choose Main Class of Runtime-Loaded Module)”对话框中,选择相应 RLM 的主类,然后单击“确定”。
    5. 如果您希望优化模块 SWF 文件大小,请选择“优化(Optimize)”复选框。
    6. 以类似的方式,添加对其他 RLM 的依赖项。
    7. 在 Runtime-Loaded Modules 对话框中单击“确定”。
    8. 在“项目结构(Project Structure)”对话框中单击“确定”。

    列出RLM构建配置来指定依赖项

    使用这种指定依赖项的方法时,应该为每个 RLM 构建配置。此外,为了优化 RLM 的文件大小,您应该手动指定 load-externs 和 link-report 编译器选项(在相应的构建配置中)。

    优点:

    • 主应用程序和模块可以使用不同的编译选项进行编译。(每个构建配置都有自己的一组编译器选项。)
    • 主应用程序和 RLM 的源代码可以位于同一个 IntelliJ IDEA 模块中,也可以位于不同的模块中(在同一个项目中)。

    缺点:

    • 您必须为每个 RLM 创建一个构建配置。
    • 要使用 load-externs 和 link-report 编译器选项,你应该手动指定它们。

    以下是要使用的程序的主要步骤:

    1. 打开主应用程序的构建配置设置。
    2. 在 Dependencies 选项卡上,单击 (Alt+Insert),然后选择 Build Configuration。
    3. 在打开的“添加依赖项(Add Dependency)”对话框中,选择 RLM 的所有必需生成配置,然后单击“确定”。
    4. 如果你需要模块优化:
      1. 在“编译器选项(Compiler Options)”选项卡的“附加编译器选项(Additional compiler options)”字段中,添加:
        link-report=<path_to_report_file>

        例如:

        link-report=c:/temp/link-report.xml
      2. load-externs=<path_to_report_file>

         例如:

        load-externs=c:/temp/link-report.xml

        添加到所有相应的 RLM 构建配置中的其他编译器选项字段。

    5. 在“项目结构(Project Structure)”对话框中单击“确定”。