dram.me

搭建ADempiere开发环境

本文描述ADempiere基于Eclipse的开发环境搭建流程,如果只是试用,可以参考这里

Swing UI开发环境

  1. 自https://www.microsoft.com/openjdk下载安装OpenJDK 11;

  2. 自https://www.eclipse.org/downloads/packages/release下载解压Eclipse 2021‑06 R(Eclipse IDE for Enterprise Java and Web Developers);

  3. 调整eclipse.ini,更改--vm值为:C:/Program Files/Microsoft/jdk-11.0.11.9-hotspot/bin

  4. 打开Eclipse,指定工作环境目录,如:C:/workspace/adempiere;

  5. 在Eclipse欢迎页面,点击Checkout projects from Git,选择Clone URI,指定URI为https://github.com/adempiere/adempiere.git,点击Next,目标目录指定为:C:/git/adempiere,再点击Next,完成仓库克隆;

  6. 点击Eclipse菜单Window > Preferences,选择General > Workspace,设置Text file encoding为UTF-8,New text file line delimiter为Unix;

  7. 点击Eclipse菜单File > Import...,再选择General > Existing Projects inot Workspace,点击Next,选择Root Directory,如:C:/git/adempiere(注:不要勾选Search for nested projects);

  8. 搭建数据库,本文选择在WSL环境中搭建,PostgreSQL服务的安装过程从略,安装完成后,执行以下命令:

    % psql postgres postgres
    # create role adempiere with login password 'adempiere' ;
    # create database adempiere with owner adempiere ;
    % cd /mnt/c/git/adempiere
    % unzip -p data/seed/Adempiere_pg.jar Adempiere_pg.dmp | psql -d adempiere -U adempiere
  9. 点击Eclipse菜单Run > Run Configurations...,选择Java Application > Load XML Migrations,点击Arguments标签页,更改VM arguments参数如下,再点击Run,填写数据库信息后,开始迁移数据库到最新版本:

    -DADEMPIERE_HOME=C:/git/adempiere
  10. 点击Eclipse菜单Run > Run Configurations...,选择Java Application > ADempiere-all,点击Arguments标签页,更改VM arguments参数如下,再点击Run,可启动ADempiere客户端:

    -DPropertyFile=C:/git/adempiere/Adempiere.properties
    -DADEMPIERE_HOME=C:/git/adempiere
    -Dsun.java2d.uiScale=1
    -Dswing.useSystemFontSettings=false
    -Xms128M
    -Xmx256M
    -Dorg.adempiere.server.embedded=true

Web UI开发环境

ADempiere Web UI开发环境,在以上Swing UI配置的基础上,再执行以下操作:

  1. 点击Eclipse菜单Window > Show View > Servers,在Servers窗口点击其中链接启动新建Server流程;

  2. 服务器类型选择Apache > Tomcat 9,点击Next后,Tomcat installation directory选择C:\git\adempiere\tomcat,随后点击Next,再点击Add All添加adempiere项目,再点击Finish;

  3. 在Servers窗口右键点击Tomcat v9.0 Server at localhost,点击Start,出现数据库设置对话框,直接忽略,等待超时退出;

  4. 此时在Run configurations...中已经新增Apache Tomcat项目,更改其中启动参数,添加-DPropertyFile=C:/git/adempiere/Adempiere.properties -DADEMPIERE_HOME=C:/git/adempiere

  5. C:/git/adempiere/tools/lib中拷贝以下jar包到目录C:/workspace/adempiere/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/adempiere/WEB-INF/lib

    • commons-collections4
    • HikariCP
    • jasperreports-fonts
    • jasperreports
    • oracle
    • slf4j-api
    • slf4j-simple

    以及以下包,用于PDF报表生成:

    • harness
    • itextpdf
    • itext-carriage
    • kernel
    • pdfa

    以及以下包,用于XLS报表生成:

    • poi
    • poi-ooxml
  6. 之后可在Run菜单中选择Tomcat v9.0 Server at localhost启动。

命令行启动

Swing客户端启动:

"C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin\java.exe" -Dsun.java2d.uiScale=1.0  "-Dswing.plaf.metal.controlFont=Microsoft YaHei UI 14" "-Dswing.plaf.metal.menuFont=Microsoft YaHei UI 14" "-Dswing.plaf.metal.smallFont=Microsoft YaHei UI 14" "-Dswing.plaf.metal.systemFont=Microsoft YaHei UI 14" "-Dswing.plaf.metal.userFont=Microsoft YaHei UI 14" "-Dswing.plaf.metal.windowFont=Microsoft YaHei UI 14" -DPropertyFile=C:/git/adempiere/Adempiere.properties -DADEMPIERE_HOME=C:/git/adempiere -Xms128M -Xmx256M -Dorg.adempiere.server.embedded=true -Dfile.encoding=UTF-8 -classpath "C:\git\adempiere\base\test\build;C:\git\adempiere\serverRoot\test\build;C:\git\adempiere\org.eevolution.manufacturing\test\build;C:\git\adempiere\org.adempiere.asset\test\build;C:\git\adempiere\bin;C:\git\adempiere\tools\lib\*;C:\git\adempiere\JasperReportsTools\lib\*" org.compiere.Adempiere

Web服务启动:

set JAVA_HOME=C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot
set CATALINA_HOME=C:\git\adempiere\tomcat
set CATALINA_BASE=C:\workspace\adempiere\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
set CATALINA_OPTS=-DPropertyFile=C:/git/adempiere/Adempiere.properties -DADEMPIERE_HOME=C:/git/adempiere
C:\git\adempiere\tomcat\bin\catalina.bat run

更新

  • 2021-08-07

    1. 简化JDK版本指定的处理,直接基于eclipse.ini实现;
  • 2021-08-15

    1. 添加启动ADempiere时的高DPI缩放设置,以解决图片放大虚化问题;
  • 2021-08-21

    1. 调整ADempiere-all参数;
  • 2021-09-05

    1. 添加WebUI开发环境搭建说明;
  • 2021-10-16

    1. 完善Web服务相关说明;
    2. 添加基于开发环境的App和Web启动说明;