组合项目

Studio 支持在单一 IDE 项目中开发多个扩展组件和主项目,即使这些项目位于不同的源码仓库。

如需创建组合项目,在项目向导中选择 Composite Project 模板。Studio 会自动创建下面结构的项目(假设项目名称为 demo):

root-dir/
    demo-all/
        build.gradle
        settings.gradle

然后,你可以通过 Jmix 工具窗口的 New → Subproject 创建或添加子项目。我们建议将子项目放入组合项目的根目录,即与 <project-name>-all 平级。

Studio 在 Jmix 工具窗口中将组合项目和所有的子项目都作为顶级节点展示:

composite projects structure

你可以编辑所有子项目共用的属性。点击 Jmix 窗口工具栏的 Settings→Project Properties,选中 All subprojects 即可:

composite project edit properties

共用属性包括制件仓库配置和 Jmix 框架版本。因此,可以一次将所有子项目升级到同一个 Jmix 的新版本。

Studio 可以为扩展组件生成 Liquibase 更改日志,该功能在组合项目中也有效。

如需为扩展组件生成更改日志,首先需要在组件内定义一个 数据存储。数据存储在 Jmix 项目树中展示:

add on data store

该数据存储的设置会保存在 jmix-studio.xml 文件中,而非 Java 配置文件中。

然后,可以在数据存储上执行 Generate Liquibase Changelog 操作。

在组合项目中,需要为同一个扩展组件再次指定数据存储,因为组合项目有其自有的 jmix-studio.xml 文件,位于 <project-name>-all 项目中。因此,数据存储配置保存的位置与单独开发一个组件项目时有所不同,但是最后生成的更改日志是一样的。