- 项目结构
opentaps每一个模块都是单独可拆卸的结构,通过xml文件进行配置。各个模块之间耦合度非常低,可以为不同的模块配置不同的数据源。
component-load.xml为总的配置文件,其中指定了本项目下包含的其他所有模块,这是其他模块加载的入口。
<load-component component-location="opentaps-common"/>
<load-component component-location="crmsfa"/>
<load-component component-location="financials"/>
<load-component component-location="purchasing"/>
<load-component component-location="warehouse"/>
<load-component component-location="dataimport"/>
<load-component component-location="opentaps-tests"/>
<load-component component-location="homeapps"/>
<load-component component-location="asterisk"/>
<load-component component-location="search"/>
<load-component component-location="amazon"/>
<load-component component-location="activities"/>
<load-component component-location="translations"/>
- 模块结构
模块结构基本固定,并且没有一个模块都有着类似的目录结构。
build里存放编译之后的字节码文件和jar包,
config里存放的properties,主要用来做前端的展示,存放了logo的路径,网页的title,css样式等配置。
data里存放了一些种子数据的配置文件,权限的配置文件。
entitydef里存放的是实体类的定义,实体类所属group的定义。group代表了实体类与数据库之间的对应关系。在/opentaps-1.5/framework/entity/config/entityengine.xml实体引擎的配置文件里有这样的配置
<delegator name="default" entity-model-reader</