基于泛微 Ecology9 实现快速开发的后端基础模板

一个用于泛微 Ecology9 后端快速开发的基础模板,涵盖了仿造 MyBatis-Plus 构建的数据库表单查询工具、日志工具、附件工具、流程接口 Action 改造统一异常处理、手动执行指定流程指定节点的 Action 等功能模块。

泛微 / Ecology9

在 Ecology9 后端开发过程中,不同的项目往往需要构建单独的开发模块,实际上在不同的项目中都会遇到一些比较类似的需求或者比较通用的工具类,本项目的期望就是可以将一些通用的常规开发功能进行统一归类,后续可直接下载该项目然后引入自己的需求进行快速开发。

开发环境搭建

  1. 通过 Git 导入到本地开发工具中,项目地址(点击访问)

  2. 设置项目目录

    • 建议在 com.engine 路径下再设置自定义的项目目录
  3. 拷贝必要的 JAR 包依赖 这个很重要,需要与客户环境的KB补丁包保持一致

    • 进入服务器上的 /weaver/ecology/classbean 目录,执行 jar -cvf local-ecology.jar ./ 生成对应的 JAR 包,将 JAR 包拷贝到本地项目中
    • 拷贝服务器上的 /weaver/ecology/WEB-INF/lib 目录到本地项目中
    • 需要额外引入 JUnit 4 的 JAR 包才能支持单元测试
  4. 拷贝必要的配置文件

    • 需要拷贝服务器上的配置文件到 /web/WEB-INF/prop 目录下,包含但不限于:
      /weaver/ecology/WEB-INF/prop/ecustom.properties  
      /weaver/ecology/WEB-INF/prop/initCache.properties  
      /weaver/ecology/WEB-INF/prop/weaver.properties  
      /weaver/ecology/WEB-INF/prop/weaver_enableMultiLangEncoding_whiteList.properties  
      /weaver/ecology/WEB-INF/prop/weaver_enableMultiLangEncoding_whiteList_new.properties  
      /weaver/ecology/WEB-INF/prop/weaver_rtx.properties  
    • 需要拷贝服务器上 /weaver/ecology/WEB-INF/config/escache.xmlcustom/web/WEB-INF/config/ 目录下
  5. OA 自定义日志输出路径

    • 修改配置文件路径:/weaver/ecology/WEB-INF/log4jinit.properties,在最后面增加以下内容
      #自定义开发日志文件
      log4j.logger.autoLinkLog=INFO,ERROR,custom
      log4j.appender.autoLinkLog=org.apache.log4j.DailyRollingFileAppender
      log4j.appender.autoLinkLog.DatePattern='_'yyyyMMdd'.log'
      #@custom为日志目录名称,custom.log为日志名称
      log4j.appender.autoLinkLog.File=@custom/custom.log
      log4j.appender.autoLinkLog.layout=org.apache.log4j.PatternLayout
      log4j.appender.autoLinkLog.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %-5p [Thread\:%t] %m%n
      log4j.additivity.autoLinkLog=false
  6. 部署至客户环境

    • out/custom 目录,执行 jar -cvf solelyr-ecology.1.0.1.jar ./com/ 生成对应的 JAR 包,将 JAR 包拷贝到指定环境
  7. OA 不启动服务测试方案

    • 复制 OA 服务器上数据库配置文件:xxx\ecology\WEB-INF\prop\weaver.properties 文件至项目路径 web\WEB-INF\prop 路径下,请注意该文件不要提交到 Git,避免数据库信息泄露。
    • 执行 RecordSetTest 测试是否能正常输出结果,自定义的 test 类必须要继承 BaseTest 类。
    • 如不继承 BaseTest 类则可通过在 main 方法中增加以下内容:
        GCONST.setServerName("ecology");
        String fileSeparator = File.separator;
        GCONST.setRootPath(System.getProperty("user.dir")+fileSeparator+"web"+fileSeparator);