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格式),翻译后再执行导入(还未经测试)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/758858.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python应用开发——30天学习Streamlit Python包进行APP的构建(12)

st.checkbox 显示复选框部件。 Function signature[source] st.checkbox(label, valueFalse, keyNone, helpNone, on_changeNone, argsNone, kwargsNone, *, disabledFalse, label_visibility"visible") Returns (bool) Whether or not the checkbox is checked. …

Sentinel解决雪崩问题

我们或多或少都对雪崩问题有点了解&#xff0c;在微服务系统中&#xff0c;各个微服务互相调用&#xff0c;关系错综复杂&#xff0c;如果其中一个微服务挂了或者处理消息的速度大幅下降&#xff0c;需要被处理的消息越积越多&#xff0c;那么影响的不仅仅是本微服务的功能&…

算法入门(上)

什么是算法&#xff1f; 算法&#xff08;Algorithm&#xff09;是解决特定问题求解步骤的描述&#xff0c;在计算机中表现为指令的有限序列&#xff0c;并且每条指令表示一个或多个操作。 给定一个问题&#xff0c;能够解决这个问题的算法是有很多种的。算式中的问题是千奇百怪…

C语言单链表的算法之插入节点

一&#xff1a;访问各个节点中的数据 &#xff08;1&#xff09;访问链表中的各个节点的有效数据&#xff0c;这个访问必须注意不能使用p、p1、p2&#xff0c;而只能使用phead &#xff08;2&#xff09;只能用头指针不能用各个节点自己的指针。因为在实际当中我们保存链表的时…

后端之路第三站(Mybatis)——XML文件操作sql

一、XML映射文件是啥 前面我们学过了在Mapper接口用注解的方式来操作sql语句 那么XML映射文件就另一种操作sql语句的方法 为什么还要有这么个玩意&#xff1f; 我简单说就是&#xff1a;如果有的sql特别复杂的话&#xff0c;比如需要【动态sql】的话&#xff0c;就得用到XM…

数据可视化期末总结

期末考试重点&#xff08;世界上最没意义的事情&#xff09; 选择 p8 数据可视化的标准&#xff1a; 实用、完整、真实、艺术、交互&#xff08;性&#xff09; p21 色彩三属性 色相、饱和度、亮度 p23 视觉通道的类型&#xff1a; 记得色调是定性 p39 散点图&#xff08;二维…

GIT-LFS使用

0.前言 目前git仓库有很多很大的文件需要管理&#xff0c;但是直接上传&#xff0c;每次clone的文件太大&#xff0c;所有准备使用git-lfs解决。 1、下载和安装 Git LFS 1.1、直接下载二进制包&#xff1a; Releases git-lfs/git-lfs GitHub 安装 Git LFS sudo rpm -ivh…

Leica Cyclone 3DR2024 一款功能强大的点云建模软件下载License获取

Leica Cyclone 3DR 2024 是一款功能强大的点云建模软件&#xff0c;使用旨在为用户提供全面的点云管理、自动化的点云分析&#xff0c;结合强大的建模&#xff0c;在一个直观友好的环境中&#xff0c;专注的完成挑战&#xff0c;提高生产力&#xff0c;轻松创建并交付专业的成果…

杨幂跨界学术圈:内容营销专家刘鑫炜带你了解核心期刊的学术奥秘

近日&#xff0c;知名艺人杨幂在权威期刊《中国广播电视学刊》上发表了一篇名为《浅谈影视剧中演员创作习惯——以电视剧<哈尔滨一九四四>为例》的学术论文&#xff0c;此举在学术界和娱乐圈均引起了广泛关注。该期刊不仅享有极高的声誉&#xff0c;还同时被北大中文核心…

Data-Driven Reinforcement Learning for Robotic Manipulation

意思是 不同的任务以及机器人都有单独的数据和模型 未来需要整合 一个大的数据集包含所有的 然后训练一个大模型 以后具体的任务只需要针对这个模型进行微调 challenge bootstrapping with large data 2 3 4 高清图补充

【C++】using namespace std 到底什么意思

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文作为 JohnKi 的学习笔记&#xff0c;引用了部分大佬的案例 &#x1f4e2;未来很长&a…

【SGX系列教程】(二)第一个 SGX 程序: HelloWorld,linux下运行

文章目录 0. SGX基础原理分析一.准备工作1.1 前提条件1.2 SGX IDE1.3 基本原理 二.程序设计2.1 目录结构2.2 源码设计2.2.1 Encalve/Enclave.edl:Enclave Description Language2.2.2 Enclave/Enclave.lds: Enclave linker script2.2.3 Enclave/Enclave.config.xml: Enclave 配置…

ctfshow-web入门-命令执行(web59-web65)

目录 1、web59 2、web60 3、web61 4、web62 5、web63 6、web64 7、web65 都是使用 highlight_file 或者 show_source 1、web59 直接用上一题的 payload&#xff1a; cshow_source(flag.php); 拿到 flag&#xff1a;ctfshow{9e058a62-f37d-425e-9696-43387b0b3629} 2、w…

MathType7.6专业数学公式编辑器!与Word、PPT等常用软件无缝对接。

MathType&#xff0c;一款专业的数学公式编辑器&#xff0c;以其强大的功能和友好的用户界面&#xff0c;在科研、教学等领域广受欢迎。它支持丰富的数学符号和公式模板&#xff0c;满足不同用户的需求。同时&#xff0c;MathType还提供了多种输出格式&#xff0c;方便与其他文…

3ds Max导出fbx贴图问题简单记录

1.前言 工作中发现3ds Max导出的fbx在其它软件&#xff08;Autodesk viewer&#xff0c;blender&#xff0c;navisworks&#xff0c;FBXReview等&#xff09;中丢失了部分贴图&#xff0c;但导出的fbx用3ds Max打开却正常显示。 fbx格式使用范围较广&#xff0c;很多常见的三…

如何用Go语言,实现基于宏系统的解释器?

目录 一、Go语言介绍二、什么是宏系统三、什么是解释器四、如何用Go语言实现一个基于宏系统的解释器&#xff1f; 一、Go语言介绍 Go语言&#xff0c;又称为Golang&#xff0c;是一种由谷歌公司开发并开源的编程语言。Go语言的设计目标是提高程序员的生产力&#xff0c;同时具…

树莓派开发之文件传输

文章目录 一、简介使用U盘传输文件使用SD卡传输文件使用Xftp 7传输文件 二、 总结 一、简介 在树莓派开发中经常会用到文件传输&#xff0c;下面介绍几种树莓派文件传输的几种方法。 使用U盘传输文件 &#xff08;1&#xff09;复制所需传输文件到U盘 &#xff08;2&#…

详细介绍MySQL的索引(上)

索引 索引概述 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用(指向数据&#xff0c;这样就可以在这些数据结构上实现高级查找算法&#xff0c;这种数据结…

【计算机图形学】期末考试知识点汇总(上)

文章目录 视频教程第一章 计算机图形学概述计算机图形学的定义计算机图形学的应用计算机图形学 vs 图像处理 vs模式识别图形显示器的发展及工作原理理解三维渲染管线 第二章 基本图元的扫描转换扫描转换直线的扫描转换DDA算法Bresenham算法中点画线算法圆的扫描转换中点画圆算法…

json文件 增删查改

默认收藏夹 qt操作json格式文件... 这个人的 写的很好 我的demo全是抄他的 抄了就能用 —————————— 下次有空把我的demo 传上来 在E盘的demo文件夹 json什么名字