metasfresh开源ERP系统Windows开发环境配置参考

目录

概述

开发环境

配置过程

后端启动

前端启动

登陆系统

其他


概述

Compiere闭源之后衍生出了Admpiere等若干开源的产品,metasfresh就是其中之一,metasfresh截至发稿时在GitHub上已有64000多次的修改提交,而且仍在维护中,其中5.175版本于23年6月分发布,具体可参考metasfresh的Github站点

metasfres平台架构上采用了前后端分离的方式,前端js,可以单独部署,后端java+spring,可提供轻量端的web方式访问和传统的swing客户端方式访问,不同访问方式根据后端的服务类型来确定。

metasfres在与其他类型的java语言为主的erp项目相比,配置上还是有些复杂,这里就根据metasfresh社区提供的安装说明(参考:Development environment guide with Intellij and Docker-Compose - Setup - metasfresh ERP - Community forum)对配置过程中遇到的问题及解决方法进行了记录,供metasfresh爱好者参考。

开发环境

操作系统:Windows11

IDE工具:IDEA 2024 Ultimate

Java:jdk8(5.175分支),jdk17(master分支),maven3

Nodejs:16(测试版本过高,前端启动后接受请求时会报错)

RabbitMQ :3.11.16(可参考社区安装配置链接中使用docker来提供)

PostgreSQL:10(可参考社区安装配置链接中使用docker来提供)

配置过程

  • 代码下载,git项目源码到本地,这里需要注意的是目录规划,metasfresh开发环境的目录规划应当是:

       projectroot(假定你准备在这里完成metasfresh开发环境的配置)

            +.idea(idea项目文件夹,idea自动生成)

            +-----metasfresh(git到这一层

            +----application.properties(metasfresh子目录\misc\dev-support下复制过来的配置文件目录)  

  • 启动idea打开projectroot目录,然后退出(此步仅完成idea的项目目录的生成),将metasfresh\misc\dev-support\intellij-idea目录下的.idea下 的内容复制到projectroot下的idea中(覆盖原有内容)
  • 修改或复制本机maven配置文件,将metasfresh\misc\dev-support\maven下的settings.xml复制到本机的maven默认目录中(Windows,默认在%userprofile%\.m2)覆盖或者自行合并内容。主要是以下的xml节点,合并是可根据本地文件内容进行修改,同时注意在<activeProfiles>节点将此内容添加,否则不会生效:
    <id>env-dev</id>
     
  • 打开命令行终端,确定java_home环境变量以及git可执行文件路径已经配置到命令行终端环境中,可通过查看。
    java -version
    mvn -v
    git -v
    
  • 执行maven安装,在命令行顺序切换到metasfresh\misc\parent-pom,metasfresh\misc\de-metas-common,metasfresh\backend,执行maven安装:
    mvn -T 2C -DskipTests clean install

    安装过程中如果出现如下错误,则需要调整metasfresh\misc\parent-pom\pom.xml,在git-commit-id-plugin插件的configuration配置项中增加nativeGitTimeoutInMs,插件默认的是30000毫秒,也就是30秒,将这个值设置的更大些,就不会报下面的错误了:

  • 再次启动idea,首先检查项目的jdk版本是否与source的版本匹配,分别选择metasfresh\backend\pom.xml以及metasfresh\misc\parent-pom\pom.xml,metasfresh\misc\de-metas-common\pom.xml,在选中文件右键菜单中选择“添加为Maven项目”,等待加载完成即可。
  • idea中选择backend项目的pom.xml,执行maven菜单的generate source and folder(生成源码和目录),子项目中如果存在找不到类的错误,可以选择对应子项目的pom.xml单独生成,如果未出现找不到类错误,可忽略此步。
  • metasfresh的前端配置比较简单,在命令行切换到metasfresh\frontend,执行npm install即可,如果遇到依赖错误,则在命令行中增加--legacy-peer-deps参数
  • 建立数据库用户metasfresh/metasfresh(默认的,如果不同则需要修改application.properties下的相关文件,开发环境简化处理均使用默认的)导入初始数据。初始下载链接(https://metasfresh.com/wp-content/releases/db_seeds/metasfresh_latest.pgdump)。
  • idea中执行Run SQL Migrations运行配置

后端启动

  • 启动RabbitMQ(如果RabbitMQ 的服务端口不是5672,需要修改projectroot\application.properties\metasfresh\backend\metasfresh-webui-api\application.properties,将spring.rabbitmq.port设置为实际的端口)。
  • idea中启动WebRestApiApplication,启动前检查配置参数中 -DPropertyFile路径,由于从metasfresh\misc\dev-support\intellij-idea目录拷贝的配置中,默认使用的路径是C:\work-metas,因此需要修改为实际的路径。另外,开发环境可不使用elastic search,需要增加vm参数-Delastic_enable=false。

前端启动

  • 复制metasfresh\config.js.dist到metasfresh\config.js
  • 可通过idea中的start WEB-UI启动项启动或者通过命令行终端启动

登陆系统

  • 通过:http://localhost:3000/,默认用户名,密码均为metasfresh,这里需要注意地址不能是127.0.0.1,否则会报跨域错误,如果希望通过ip访问,则需要修改metasfresh\config.js以及数据库中的记录,select * from AD_SysConfig WHERE Name='webui.frontend.url',即数据库中的值需要与metasfresh\config.js一致才不会报跨域错误,这个值是数据系统配置的参数,可以通过swing端访问修改,也可以直接修改数据库记录

其他

        metasfresh的swing端访问,在idea中分别启动ServerBoot和SwingUIApplication即可,登陆用户同轻量端。

        metasfresh本地化处理可登陆管理员权限,导出多语言文件(xml格式),翻译后再执行导入(还未经测试)

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值