大纲
- 环境准备
- 安装必要软件
- 配置Java
- 配置JAVA_HOME
- 配置Java软链
- 安装三方库
- 获取源码
- 配置MySql数据库
- 创建用户
- 创建数据库
- 导入初始数据
- 配置数据库连接
- 配置sessionFactory(非必须,如果后续保存再配置)
- 编译
- 下载tomcat
- 启动
- 下载aspectjweaver
- 移动jw.war文件
- 编写脚本
- 运行
- 测试
- 参考资料
在《低代码开源项目Joget的研究——Joget7社区版安装部署》一文中,我们介绍了oget7的部署。本文我们将介绍Joget8.1社区版的编译部署。
环境准备
安装必要软件
We recommend the use of the LTS version of 11. Java 17 (LTS) is not supported at the moment.
# 更新系统包
sudo apt-get update
# 安装Java
sudo apt-get install openjdk-11-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-11-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-11-openjdk-amd64/bin/java /usr/bin/java
检测java版本
java -version
openjdk version “11.0.25” 2024-10-15
OpenJDK Runtime Environment (build 11.0.25+9-post-Ubuntu-1ubuntu124.04)
OpenJDK 64-Bit Server VM (build 11.0.25+9-post-Ubuntu-1ubuntu124.04, mixed mode, sharing)
安装三方库
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 --branch 8.1-RELEASE https://github.com/jogetworkflow/jw-community.git
cd ~
配置MySql数据库
创建用户
- 使用
sudo
登录MySql
sudo mysql
- 设置
root
用户密码
在MySQL命令行中,执行以下命令来设置root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd123';
FLUSH PRIVILEGES;
- 退出MySql
EXIT;
- 使用新密码登录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/sh
export 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://localhost:8080/jw/web/login)
参考资料
- https://dev.joget.org/community/display/DX8/Build+Source+Code+on+Linux
- https://www.joget.org/product/features/