EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
安装部署
应用开发
专题场景实战案例
低代码(Low-Code)开发参考手册
高开开发参考手册
流程开发参考手册
AFCenter 使用指南
Governor 使用指南
FAQ
  • window开发环境安装
  • 环境准备
  • 安装介质介绍
  • 运行环境
  • 运行环境简介
  • 配置安装
  • 启动验证
  • 开发环境
  • ide安装配置
  • 新建项目

# window开发环境安装

本文档介绍如何在Windows中快速安装8.3.1,及相关介质的安装验证说明,旨在帮助开发人员快速搭建开发环境

# 环境准备

  • 硬件配置 安装产品的硬件配置要求如下所示。
硬件 说明
CPU 主频2.0GHz以上
内存 8GB以上
硬盘 50G 以上。安装目录空间 20GB 以上。
  • 软件配置 安装产品的软件配置要求如下所示。
软件 说明
JDK OracleJDK 1.8.0_162 以上版。安装包不携带JDK,请自行安装
node node V10 以上 , npm 6.9及以上
MySQL 安装包自带MySQL
操作系统 Windows 7/10/11 64位
  • VC++ 说明:MySQL需要VC++环境,请自行下载安装 VC++ (opens new window)

# 安装介质介绍

  • 下载介质 下载EOS_Platform_8.3.1_Private_Medium_Develop.zip

  • 解压介质

    重点: 因为此版本是绿色版本,内置的绝对路径配置在D:\primeton\eos-8.3-dev目录,建议解压缩到此目录,如果其他目录下面涉及到绝对路径的配置文件需要配置为实际的解压缩目录 安装介质中包含开发环境IDE,Maven,nacos,nginx,redis,repository及前后端应用

    解压后目录结构

  • 目录结构介绍

    eos-8.3-dev
    │
    ├── ide                                     集成开发环境
    │   ├── eclipse                             Studio开发工具
    │   ├── workspace                           Studio默认工作空间
    │   └── settings.xml                        maven配置文件
    │
    ├── maven                                   maven目录
    │
    ├── mysql                                   mysql5.7数据库
    │
    ├── nacos                                   nacos应用目录
    │   ├──bin                                  
    │   │   ├── startup.cmd                     nacos应用启动脚本
    │   │   └── shutdown.cmd                    nacos应用停止脚本
    │   └──conf                                 nacos配置文件目录
    │
    ├── nginx                                   
    │   ├── conf                                
    │   │   └── nginx.conf                      nginx主配置文件
    │   ├── startup.cmd                         nginx应用启动脚本
    │   └── shutdown.cmd                        nginx应用停止脚本
    │
    ├── redis                                   
    │   ├── redis.windows.conf                  redis应用配置文件
    │   ├── startup.cmd                         redis应用启动脚本
    │   └── shutdown.cmd                        redis应用停止脚本
    │
    ├── repository                              maven仓库
    │
    ├── server                                  应用目录
    │   ├── bps                                 bps流程引擎目录
    │   │   ├── bin                     
    │   │   │   ├── startup.cmd                 bps应用启动脚本
    │   │   │   └── shutdown.cmd                bps应用停止脚本
    │   │   ├── config                          bps配置文件目录
    │   │   ├── db-scripts                      bps-db脚本目录
    │   │   └── *.jar                           bps应用jar包
    │   │ 
    │   ├── afcenter                            afcenter应用目录
    │   │   ├── bin                     
    │   │   │   ├── startup.cmd                 afcenter应用启动脚本
    │   │   │   └── shutdown.cmd                afcenter应用停止脚本
    │   │   ├── config                          afcenter配置文件目录
    │   │   ├── db-scripts                      afcenter,bfp,eos,lowcode脚本目录
    │   │   ├── lib                             数据库驱动包及第三方补丁
    │   │   └── *.jar                           afcenter应用jar包
    │   │
    │   ├── gateway                             网关应用目录
    │   │   ├── bin                     
    │   │   │   ├── startup.cmd                 gateway应用启动脚本
    │   │   │   └── shutdown.cmd                gateway应用停止脚本
    │   │   ├── config                          gateway配置文件目录
    │   │   └── *.jar                           gateway应用jar包
    │   │
    │   ├── governor                            governor应用目录
    │   │   ├── bin                     
    │   │   │   ├── startup.cmd                 governor应用启动脚本
    │   │   │   └── shutdown.cmd                governor应用停止脚本
    │   │   ├── config                          governor配置文件目录
    │   │   ├── db-scripts                      governor-db脚本目录
    │   │   ├── app-db-scripts                  bps-db、eos-db脚本目录
    │   │   └── *.jar                           governor应用jar包
    │   │
    ├── source                              源码目录
    │   ├── afcenter-ui                     afcenter前端源码
    │   └── afcenter                        afcenter后端源码
    │   ├── bfp-ui                          bfp前端源码
    │   └── bfp                             bfp后端源码
    │   │
    ├── web                                 前端资源目录
    │   ├── afcenter                        afcenter前端静态资源
    │   └── conf                            nginx配置文件目录
    

# 运行环境

# 运行环境简介

EOS运行环境依赖以下介质,其中mysql,nacos,redis,nginx需要优先启动,bps和gateway在afcenter之前启动

应用 说明 默认端口
mysql 服务 数据库服务 3306
nacos 应用 配置中心,注册中心 8848
nginx 应用 代理服务器 80
redis 服务 缓存服务器 6379
governor governor管理平台 29898
gateway 网关应用 9090
bps 流程平台 48084
afcenter 应用 基础平台应用 28083

# 配置安装

本次8.3.1提供的安装介质为绿色安装介质,除mysql需要配置外其他无需安装,介质默认解压即可运行,默认解压路径(D:\primeton\eos-8.3-dev)

  • MySQL安装

    • mysql路径及端口设置 根据本地环境设置Mysql安装路径及端口,安装包自带Mysql默认端口3306,文件路径:D:\primeton\eos-8.3-dev\mysql\my.ini MySQL端口及路径设置 注意:这里在my.ini配置文件中添加允许传送最大数据包大小参数配置max_allowed_packet=100M

    • 管理员启动CMD窗口并新建Mysql服务

        D:
        cd primeton\eos-8.3-dev\mysql\bin
        mysqld -install 自定义MySQL服务名 --defaults-file="D:\primeton\eos-8.3-dev\mysql\my.ini"
      

    新建mysql服务 服务启动 mysql服务启动

    • MySQL数据库初始化验证 Mysql服务启动成功后,自动创建了如下数据库并做了初始化,若不是用这个默认的Mysql,需自行准备数据库和初始化(注意:Mysql数据库需设置不区分大小写)

        用户名/密码:root/primeton
        nacos(nacos注册&配置中心数据库)
        bps4eos8(bps引擎数据库)
        afcenter4eos8(afcenter组织机构权限数据库)
        governor4eos8(eos8服务治理数据库)
      
  • nacos配置说明 D:\primeton\eos-8.3-dev\nacos\conf目录下,application.properties是应用配置文件,mysql-schema.sql为mysql数据库脚本,dm-schema.sql为达梦数据库脚本 nacos_path application.properties配置截图 nacos_config

  • nginx配置说明 配置文件路径 D:\primeton\eos-8.3-dev\nginx\conf 此处通过下图配置引入web\conf*.conf下的配置文件,作用是将afcenter应用的代理配置引入。 ngix_conf 若不是默认安装,修改web\conf\eos8.conf文件里配置的路径 ng

  • afcenter配置说明

配置文件及脚本路径 D:\primeton\eos-8.3-dev\server\afcenter afc 数据库初始化说明:若需自行初始化,可使用如下方式
方式一、db-scripts\all目录下,找到对应的数据库类型,执行all.sql文件(这是完整的脚本)
方式二、db-scripts目录下,分别执行afcenter,bfp,eos,lowcode目录下对应数据库类型的all.sql文件 database_script 数据库配置文件D:\primeton\eos-8.3-dev\server\afcenter\config\AFCENTER\config\user-config.xml afc_config

注: 如不需要使用afcenter中xxl-job,可修改配置文件关闭xxl-job。

关闭xxl-job方法:在server/afcenter/config/application-job.properties配置文件中修改开关为false。

afc.job.admin.enabled=false
afc.job.executor.enabled=false

如需要使用xxl-job相关功能,使用非mysql数据库时,数据库脚本中缺少xxl-job相关脚本,请在ame+中申请补丁:PLATFORM_8.3LA1_AFCENTER_20240223_P1。

  • bps配置说明 路径:D:\primeton\eos-8.3-dev\server\bps bps_conf

数据库初始化说明:若需自行初始化,可使用如下方式
方式一、db-scripts\all目录下,找到对应的数据库类型,执行all.sql文件(这是完整的脚本)
方式二、db-scripts目录下,分别执行bps和eos目录下对应数据库类型的all.sql文件

数据库配置文件,路径:D:\primeton\eos-8.3-dev\server\bps\config\BPS-SERVER\config\user-config.xml bps

  • gateway配置说明 配置所在路径:D:\primeton\eos-8.3-dev\server\gateway\config gateway
  • governor配置说明 配置所在路径:D:\primeton\eos-8.3-dev\server\governor gov

数据库初始化说明:若需自行初始化,可使用如下方式
方式一、执行app-db-scripts\group\all目录下对应数据库的all.sql文件,执行db-scripts下对应数据库的all.sql文件
方式二、执行app-db-scripts\group下eos和bps中对应数据库的all.sql文件,执行db-scripts下对应数据库的all.sql文件

governor数据库配置文件:D:\primeton\eos-8.3-dev\server\governor\config\application.properties governor

# 启动验证

在验证应用前,请启动以下应用

应用 说明 默认端口
mysql 服务 数据库服务 3306
redis 服务 缓存服务器 6379
nacos 应用 配置中心,注册中心 8848
nginx 应用 代理服务器 80
governor governor管理平台 29898
gateway 网关应用 9090
bps 流程平台 48084
afcenter 应用 基础平台应用 28083
  • 启动redis redis

  • nacos验证 启动nacos

    nacos验证

    • 验证nacos 访问 http://localhost:8848/nacos/#/login (opens new window) 账号/密码 nacos/nacos 验证nacos启动成功 nacos登录页
  • governor验证 启动governor,启动路径如下图 governor 访问地址 http://127.0.0.1:29898/#/login (opens new window) sysadmin/000000 登录成功

  • gateway验证

启动gateway,启动路径如下下图 gateway gateway作为网关服务,为后台服务,无对应界面,启动过程无报错,说明gateway启动成功了。 gateway

  • bps验证 启动bps,启动路径如下图 bps bps作为流程引擎,为后台服务,无对应界面,启动过程无报错,说明bps启动成功了。 bps
  • afcenter验证 启动afcenter,启动路径如下图 afc应用 访问地址http://127.0.0.1/#/login (opens new window) admin/000000 afc登录成功

# 开发环境

# IDE安装配置

  • IDE配置 安装介质解压后包含IDE环境,无需单独安装,默认解压路径为D:\primeton\eos-8.3-dev IDE安装路径 D:\primeton\eos-8.3-dev\ide 下maven仓库配置文件

解压完成后,请修改eclipse 内存,路径如下图 eclipse 配置文件下方加入以下内容,具体数值根据本地环境配置

 -Xms2048m
 -Xmx2048m
  • 本地Maven仓库配置 安装介质解压后repository目录包含开发的相关依赖包,需要配置本地的maven仓库路径

在安装路径ide目录下settings.xml进行路径配置 setting.xml文件中将maven本地仓库地址指向IDE同级目录repository 配置文件 maven配置,打开IDE环境,首选项-Maven中settings设置 maven设置

  • 配置数据源
    1. 新建数据库链接->视图左下角数据库连接右键新建

      新建数据源

    2. 新建mysql数据连接

      配置mysql链接

    3. 指定驱动

      新建驱动

    4. 选择模板并查找数据库驱动包

      选择驱动

    5. 添加数据库驱动jar包

        # IDE自带的驱动包路径:
        D:\primeton\eos-8.3-dev\ide\eclipse\dropins\eostools\plugins\com.primeton.studio.database.library_5.1.2.0\library\3rd\jdbc
        # 可自行选择其他版本驱动
      

      添加驱动jia

    6. 填写数据库连接信息

      • 用户名/密码:root/primeton
      • 连接Url: jdbc:mysql://localhost:3306/eosdemo?characterEncoding=utf8&serverTimezone=GMT

      数据库连接信息图片

# 新建项目

  • 数据库初始化 新建的项目(数据源独立),需执行以下路径脚本

    D:\primeton\eos-8.3-dev\server\afcenter\db-scripts\eos\Mysql\all.sql

    D:\primeton\eos-8.3-dev\server\afcenter\db-scripts\bfp开头的目录(bfp-framework、bfp-message、bfp-task)\Mysql\all.sql 流程框架的初始化脚本

    D:\primeton\eos-8.3-dev\server\afcenter\db-scripts\lowcode\Mysql\all.sql 低代码开发的初始化脚本

  • 新建后端项目

创建微服务应用 新建项目

  • 修改项目配置文件 若项目端口和其他进程端口冲突,在application.properties中可修改项目端口 修改配置文件 修改user-config文件配置数据库连接,数据库端口请根据情况修改
   <group name="default">
          <configValue key="Database-Type">MySql</configValue>
          <configValue key="Jdbc-Type"/>
          <configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
          <configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/eosdemo?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;useSSL=false</configValue>
          <configValue key="C3p0-UserName">root</configValue>
          <configValue key="C3p0-Password">root</configValue>
          <configValue key="C3p0-PoolSize">10</configValue>
          <configValue key="C3p0-MaxPoolSize">50</configValue>
          <configValue key="C3p0-MinPoolSize">10</configValue>
          <!-- //seconds, 0 means connections never expire -->
          <configValue key="C3p0-MaxIdleTime">600</configValue>
          <!-- //idle connections never tested -->
          <configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
          <configValue key="C3p0-MaxStatements">0</configValue>
          <configValue key="C3p0-NumHelperThreads">1</configValue>

          <configValue key="Transaction-Isolation">ISOLATION_DEFAULT</configValue>
          <configValue key="Test-Connect-Sql">SELECT count(*) from EOS_UNIQUE_TABLE</configValue>
          <configValue key="Retry-Connect-Count">-1</configValue>
      </group>
  • 启动新建项目 启动无报错信息,IDE环境搭建完成 启动后端项目

后端项目启动完成

FAQ:
1、问题场景:若应用启动时报错:

Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to load instance for com.ctrip.framework.apollo.spring.config.ConfigPropertySourceFactory!
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:40)
	at com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer.<init>(ApolloApplicationContextInitializer.java:66)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)
	... 8 more
Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to initialize Apollo Spring Injector!
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInjector(SpringInjector.java:24)
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:37)
	... 15 more

解决方法:
IDE中,窗口—>首选项—>Java—>已安装的 JRE,将"jre"的位置指向产品支持的本地的JDK目录
修改jre配置 指定JDK 再次启动项目,没有报之前的错误。

2、问题场景:应用启动时报错:

java.lang.ClassNotFoundException: com.eos.common.schedule.mbean.AppScheduleConfigHandler
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.eos.common.management.mbean.AppMbeanConfigHandler.doToLoad(AppMbeanConfigHandler.java:138)
	at com.eos.common.management.mbean.AppMbeanConfigHandler.toLoad(AppMbeanConfigHandler.java:108)
	at com.eos.common.management.mbean.AppMbeanConfigHandler.toLoad(AppMbeanConfigHandler.java:45)
	at com.primeton.common.config.impl.ConfigurationHelper$1.doHandler(ConfigurationHelper.java:58)
	at com.primeton.common.config.impl.ConfigurationHelper.handlerModule(ConfigurationHelper.java:123)
	at com.primeton.common.config.impl.ConfigurationHelper.doHandler(ConfigurationHelper.java:78)
	at com.primeton.common.config.impl.ConfigurationHelper.initLoad(ConfigurationHelper.java:53)
	at com.primeton.ext.common.config.startup.AppConfigStartupRuntimeListener.start(AppConfigStartupRuntimeListener.java:50)
	at com.primeton.runtime.core.impl.RuntimeListenerManagerImpl.startListener(RuntimeListenerManagerImpl.java:43)
	at com.primeton.ext.runtime.core.RuntimeManager.start(RuntimeManager.java:55)
	at com.primeton.ext.runtime.core.RuntimeJ2EEHost.contextInitialized(RuntimeJ2EEHost.java:55)
	at com.primeton.eos.springboot.runtime.EOS8RuntimeJ2EEHost.contextInitialized(EOS8RuntimeJ2EEHost.java:51)
	at com.primeton.eos.springboot.autoconfig.EOS8SpringBootConfiguration$1.onStartup(EOS8SpringBootConfiguration.java:135)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:237)
	at com.primeton.appserver.AppServerStarter.onStartup(AppServerStarter.java:51)
	at com.primeton.appserver.container.core.StandardContext.startInternal(StandardContext.java:5106)
	at com.primeton.appserver.container.util.LifecycleBase.start(LifecycleBase.java:168)

解决方法:
将项目里sys-config.xml中的如下配置注释掉,再启动项目,可以正常启动

<group name="ScheduleMBean">
            <configValue key="Type">config</configValue>
            <configValue key="Class">com.eos.common.config.mbean.Config</configValue>
            <configValue key="Handler">com.eos.common.schedule.mbean.AppScheduleConfigHandler</configValue>
            <configValue key="ConfigFileType">config</configValue>
</group>

注释掉配置

← 精简版(Express)安装指南 环境准备 →