低代码开源项目Joget的研究——Joget7社区版安装部署

ops/2024/12/28 2:26:23/

大纲

  • 环境准备
    • 安装必要软件
    • 配置Java
      • 配置JAVA_HOME
      • 配置Java软链
      • 安装三方库
  • 获取源码
  • 配置MySql数据库
    • 创建用户
    • 创建数据库
    • 导入初始数据
  • 配置数据库连接
  • 配置sessionFactory
  • 编译
  • 下载tomcat
  • 启动
    • 下载aspectjweaver
    • 移动jw.war文件
    • 编写脚本
    • 运行
  • 测试
  • 参考资料

Joget,作为一款开源低代码/无代码平台,为企业和开发者提供了一个强大且灵活的解决方案,用于快速构建和部署业务流程应用、表单应用以及工作流管理系统。该平台以其用户友好的界面和丰富的功能集,极大地简化了应用开发的复杂性,使得非技术人员也能轻松参与创建和管理业务流程。
Joget的核心优势之一是其高度的可定制性。用户可以通过拖放式的界面设计工具,快速搭建出符合自己业务需求的表单和仪表盘。同时,其强大的工作流引擎支持复杂的业务逻辑和审批流程,确保企业业务的高效运转。
此外,Joget还提供了丰富的插件扩展功能,用户可以根据自己的需求,轻松集成第三方系统或服务,进一步扩展平台的功能和应用场景。平台还支持多种部署方式,包括本地部署和云端部署,满足不同企业的IT架构和安全性需求。

本文我们将介绍Joget7社区版的编译部署。

环境准备

安装必要软件

# 更新系统包
sudo apt-get update# 安装Java
sudo apt-get install openjdk-8-jdk# 安装MySQL
sudo apt-get install mysql-server# Install Apache Maven 2.2.1 or above
sudo apt-get install maven# Install Git
sudo apt-get install git# 安装unzip
sudo apt-get install unzip

配置Java

配置JAVA_HOME

sudo vim /etc/environment

在上述文件中,新增如下内容

JAVA_HOME=“/usr/lib/jvm/java-8-openjdk-amd64”

重新加载环境,并检验环境

source /etc/environment
echo $JAVA_HOME

配置Java软链

sudo mv /usr/bin/java /usr/bin/java_bak
sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/bin/java /usr/bin/java

检测java版本

java -version

openjdk version “1.8.0_432”
OpenJDK Runtime Environment (build 1.8.0_432-8u432-gaus1-0ubuntu224.04-ga)
OpenJDK 64-Bit Server VM (build 25.432-bga, mixed mode)

安装三方库

wget https://dev.joget.org/community/download/attachments/19104566/install-libraries.zip
unzip -a install-libraries.zip
cd install-libraries
./install_linux.sh
cd ~

获取源码

mkdir joget_src
cd joget_src
git clone https://github.com/jogetworkflow/jw-community.git --branch 7.0-SNAPSHOT --depth 1
cd ~

配置MySql数据库

创建用户

  1. 使用sudo登录MySql
sudo mysql
  1. 设置root用户密码
    在MySQL命令行中,执行以下命令来设置root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd123';
FLUSH PRIVILEGES;
  1. 退出MySql
EXIT;
  1. 使用新密码登录MySql
mysql -u root -p

创建数据库

仍然以root用户登录MySql

CREATE DATABASE jwdb;
EXIT;

导入初始数据

mysql -uroot jwdb < joget_src/jw-community/wflow-install/src/main/resources/data/jwdb-empty.sql -p

输入之前创建的root密码(pwd123)

配置数据库连接

在根目录下下载配置文件包

cd ~
wget http://dev.joget.org/community/download/attachments/19104566/wflow.zip
unzip -a wflow.zip

修改数据库连接配置

cd wflow
sudo vim app_datasource-default.properties

由于我们之前给mysql的root用户设置的了密码pwd123,于是要将此更新到该文件中

#
#Thu Apr 16 17:47:42 MYT 2015
workflowDriver=com.mysql.jdbc.Driver
workflowUrl=jdbc\:mysql\://localhost\:3306/jwdb?characterEncoding\=UTF-8
workflowUser=root
profileName=
workflowPassword=pwd123

配置sessionFactory

wflow-commons/src/main/resources/commonsApplicationContext.xml文件的<property name="hibernateProperties">的下插入<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
如下图:
在这里插入图片描述

编译

cd ~/joget_src/jw-community/wflow-app/
mvn clean install

下载tomcat

cd ~# 从 Apache Tomcat 官方网站下载最新的 Tomcat 9 二进制发行版
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz# 解压缩下载的文件
tar xzf apache-tomcat-9.0.98.tar.gz

启动

下载aspectjweaver

aspectjweaver 是 AspectJ 的一个组件,AspectJ 是一个面向方面编程(AOP)的扩展,它用于在 Java 应用程序中实现横切关注点(如日志记录、事务管理、安全性等)。aspectjweaver 是 AspectJ 的织入器,它可以在编译时、类加载时或运行时将切面代码织入到目标代码中。

cd ~/wflow/
wget https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-1.8.5.jar .
cd ~

移动jw.war文件

将jw.war拷贝到对应目录下

# 复制 WAR 文件到 Tomcat 的 webapps 目录
cp ~/joget_src/jw-community/wflow-consoleweb/target/jw.war ~/apache-tomcat-9.0.98/webapps/

编写脚本

编写运行脚本

vim tomcat9-run.sh

填入以下内容

#!/bin/shexport CATALINA_PID="$HOME/apache-tomcat-9.0.98/temp/tomcat.pid"
mkdir -p "$HOME/apache-tomcat-9.0.98/temp"
export JAVA_OPTS="-XX:MaxPermSize=128m -Xmx768M -Dwflow.home=./wflow/ -javaagent:./wflow/aspectjweaver-1.8.5.jar"apache-tomcat-9.0.98/bin/catalina.sh $*

运行

sh tomcat9-run.sh start

测试

使用下面命令查看服务所在机器的ip

ip addr show

在这里插入图片描述
使用该IP的8080端口访问该服务(http://172.22.26.83:8080/jw)
在这里插入图片描述

参考资料

  • https://dev.joget.org/community/display/DX7/Build+Source+Code+on+Linux
  • https://www.joget.org/product/features/

http://www.ppmy.cn/ops/145542.html

相关文章

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么&#xff1f; CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台&#xff0c;包括VSCode、IDER、Chrome插件、Web和APP等&#xff0c;支持插件安装&#xff0c;尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

webpack3 webpack4 webpack5 有什么区别

性能优化 Webpack 3 性能优化主要依赖开发者手动配置各种插件。例如&#xff0c;在代码分割方面&#xff0c;需要通过CommonsChunkPlugin来实现公共模块的提取&#xff0c;其配置相对复杂。如果配置不当&#xff0c;可能会导致模块重复打包等问题&#xff0c;影响构建效率和最终…

Linux-Ubuntu之按键中断实验

Linux-Ubuntu之按键中断实验 一&#xff0c; 汇编对中断进行设置二&#xff0c;C语言模块1.中断配置2.GPIO口配置3.按键配置4.主函数 三&#xff0c;总结 一&#xff0c; 汇编对中断进行设置 列出对中断向量表&#xff0c;主要用的是IRQ中断和复位中断服务函数&#xff0c;复位…

什么是ondelete cascade以及使用sqlite演示ondelete cascade使用案例

什么是ondelete cascade ‌ON DELETE CASCADE是数据库中的一种约束&#xff0c;用于自动删除相关的记录‌。具体来说&#xff0c;当一个表中的记录&#xff08;父表&#xff09;被删除时&#xff0c;与其相关的其他表&#xff08;子表&#xff09;中的记录也会被自动删除&…

[python SQLAlchemy数据库操作入门]-11.面向对象方式操作股票数据

哈喽,大家好,我是木头左! 通过ORM,开发者可以使用Python类来表示数据库表,从而使得数据库操作更加直观和易于维护。本文将介绍如何使用SQLAlchemy ORM来操作股票数据。 安装 SQLAlchemy 需要安装SQLAlchemy库。可以使用pip命令进行安装: pip install sqlalchemy定义股票…

如何解决 ‘adb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件的问题

在cmd中输入 adb &#xff0c;显示 ‘adc‘ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件的问题 解决办法&#xff1a;在环境变量中添加adb所在的路径 1、找到 adb.exe 的所在的文件路径&#xff0c;一般在 Android 安装目录下 \sdk\platform-tools\adb.exe…

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率

京准电钟解读&#xff0c;NTP网络授时服务器如何提升DCS系统效率 京准电钟解读&#xff0c;NTP网络授时服务器如何提升DCS系统效率 NTP 网络授时服务器为防火墙内的网络设备、终端、服务器提供准确、可靠和安全的高精度卫星时间参考&#xff0c;可为它支持数万台支持标准的网…

深度学习工作:从追求 SoTA 到揭示新现象

TLDR&#xff1a;主要讨论了从追求模型 SoTA 到揭示新现象的转变。通过几个例子&#xff0c;包括ACNet到RepVGG的发展&#xff0c;RIFE插帧、Film插帧&#xff0c;以及OpenAI的近期工作&#xff0c;阐述了这种转变的重要性。 知乎&#xff1a;黄哲威 hzwer链接&#xff1a;http…