一、环境及参考文档
1、参考文档:
使用文档:
Wprowadzenie | Dokumentacja qcadoo MES
开发文档:
全部内容 - Qcadoo - Developer Documentation - Confluence (atlassian.net)
2、环境:
注:本文编译、运行、调试都是基于window 10环境的;
- jdk1.8(源码要求是1.8版本,11版本编译不过);
- maven3.6.1;
- 数据库postgresql14.12(别的版本可能会存在部分sql语句报错的情况);
注:数据库安装,可以采用“docker安装”或“postgresql安装包安装”,数据库用户名:postgres,密码:postgres123
二、下载源码
依次git clone下面所示路径的源码,默认下载的是master分支;
https://github.com/qcadoo/qcadoo-super-pom-open.git
https://github.com/qcadoo/qcadoo-maven-plugin.git
https://github.com/qcadoo/qcadoo.git
https://github.com/qcadoo/mes.git
代码目录
说明:
- qcadoo-super-pom-open:父工程的pom设置信息;
- qcadoo-maven-plugin:qcadoo基础框架的maven插件;
- qcadoo:qcadoo基础框架平台;
- mes:mes是在qcadoo基础上开发的基于mes业务的应用。
注意:
源码是放在github上的,需要科学上网,否则下载过程中可能不会成功。
三、编译工程
注:确定maven与jdk都已经安装,并且jdk为1.8版本;
注:编译要按照下面顺序依次编译。
1、编译qcadoo-super-pom-open
- 打开cmd命令框,进入qcadoo-super-pom-open所在目录
- 执行命令
mvn clean install
2、编译qcadoo-maven-plugin
- 打开cmd命令框,进入qcadoo-maven-plugin所在目录
- 执行命令
mvn clean install
3、编译qcadoo
- 打开cmd命令框,进入qcadoo-maven-plugin所在目录
- 执行命令
mvn clean install -DskipTests
4、编译mes
- 打开cmd命令框,进入mes所在目录
- 执行命令
mvn clean install -DskipTests
5、编译mes-application
注:其实上一步骤已经编译并生成了war包,这一步主要是指定profile是tomcat的形式编译,编译过程中会下载tomcat环境,设置tomcat的启动参数(在tomcat的bin目录中添加setenv.bat文件),并且把mes与tomcat打包在一起,生成zip文件;方便后面调试使用;
- 打开cmd命令框,进入mes/mes-application所在目录
- 执行命令
mvn clean install -DskipTests -Ptomcat -Dprofile=package
注:在编译mes-application完后会生成mes-application.zip文件,这个里面集成了tomcat
四、初始化数据库
注:postgresql14.12版本的数据库已安装;
1、初始数据库
1)在源码路径或mes-application.zip中找到初始sql:
源码中的初始sql位置:
/mes/mes-application/src/main/resources/schema/demo_db_en.sql
初始sql
mes-application.zip路径:
mes-application\webapps\ROOT\WEB-INF\classes\schema\demo_db_en.sql
2)安装
创建数据库mes,注,用户名:postgres,密码:postgres123
create database mes;
导入初始化sql
注:如果没有安装psql 工具可以,通过第三方的连接工具连接,要创建数据及导入初始化sql
五、调试源码
1、运行idea,打开mes工程,注:idea的maven与jdk环境已设置
mes工程路径
2、打开ProjectStructure
3、设置artifacts;
注:之所以要配置artifacts,主要是idea build的时候,编译出来的war中所有依赖的plugins的jar都没有复制过去,而mvn install生成的war都复制过去;所以,artifact就直接使用mvn install的war包,所以,需要修改artifacts的设置。
artifacts界面
添加web application:Exploded
添加web application:Exploded
输出目录设置到mes/mes-application/target/mes-application-1.5-SNAPSHOT/
添加web application:Archive
将其名字修改为mes-application-1.5-SNAPSHOT及输出目录设置到mes/mes-application/target/
3、设置tomcat server
注:tomcat server中的采用mes-application.zip,所以,配置路径要采用解压后对应的目录;之所以采用mes-application.zip,而单独部署到tomcat下,是因为mes-application.zip中集成了tomcat并且添加了一下启动配置参数,为了省去没必要的麻烦,所以直接使用mes-application.zip作为tomcat环境;
将mes-application.zip解压到以下路径:
MES\mes_tomcat_envs\mes-application
添加tomcat server配置
4、添加部署件,并将Application Context改为/
使用mes-application-1.5-SNAPSHOT的部署件(如果没有说明前面设置artifacts中没有重命名)
5、修改tomcat启动前的运行命令
清空Before launch(不采用idea的build)
添加Run mvn goal(保证每次启动tomcat之前都能mvn install mes-application)
设置工作目录为mes/mes-application,命令为install(保证每次启动tomcat之前都能mvn install mes-application)
6、启动运行、调试