Moqui1.30 开发环境配置

本文档详细介绍了如何配置Moqui 1.30开发环境,包括在Eclipse中导入源码,使用Gradle编译,设置编码格式为UTF-8,将数据源改为MySQL,添加MySQL JDBC驱动,加载种子数据,解决Atomikos日志问题,以及开启远程调试的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 导入moqui源码至eclipse


  2. 命令行使用gradle编译项目(没有安装gradle的请自行google)


  3. 设置gradle编码格式 使其支持代码中出现中文
    ${moqui.home}/framework/MoquiInit.properties
    tasks.withType(Compile) {
        options.compilerArgs << "-Xlint:unchecked"
        options.encoding = "UTF-8"
    }

  4. 将moqui数据源改成mysql
    ${moqui.home}/framework/src/main/resources/MoquiDefaultConf.xml
    删除或注释掉derby数据源,新增mysql数据源(需自行在数据库中建库)
    <datasource group-name="transactional" database-conf-name="mysql"
                check-pks-on-start="false">
        <inline-jdbc jdbc-uri="jdbc:mysql://127.0.0.1:3306/MoquiTransactional?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
                jdbc-username="root" jdbc-password="asb#1234"
                pool-minsize="2" pool-maxsize="50"/>
    </datasource>
    <datasource group-name="analytical" database-conf-name="mysql"
                check-pks-on-start="false">
        <inline-jdbc jdbc-uri="jdbc:mysql://127.0.0.1:3306/MoquiAnalytical?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
                jdbc-username="root" jdbc-password="asb#1234"
                pool-minsize="2" pool-maxsize="50"/>
    </datasource>
    <datasource group-name="tenantcommon" database-conf-name="mysql"
                check-pks-on-start="false">
        <inline-jdbc jdbc-uri="jdbc:mysql://127.0.0.1:3306/MoquiTenant?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
                jdbc-username="root" jdbc-password="asb#1234"
                pool-minsize="2" pool-maxsize="50"/>
    </datasource>

    将mysql jdbc驱动包拷贝至
    ${moqui.home}/framework/lib/mysql-connector-java-5.1.25.jar

    添加${moqui.home}/framework/build.gradle 中编译依赖
    runtime name: 'mysql-connector-java', version: '5.1.25' // Apache 2.0

    重新编译moqui并加载种子数据
    $ gradle build
    $ gradle load

    运行
    $ gradle run

  5. 禁止Atomikos疯狂打印日志
    运行moqui控制台不停输出如下内容
    --- 110318   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 110529   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 110741   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 110953   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 111163   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 111419   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 111634   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 111844   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD
    --- 112052   [     Atomikos:0] WARN    com.atomikos.icatch.imp.CoordinatorImp
     Local heuristic termination of coordinator 192.168.1.58.tm0025000005 with state HEUR_HAZARD

    修改${moqui.home}/framework/src/main/resources/log4j.xml
    <category name="com.atomikos">
            <!-- NOTE: this is "atomikos" isntead of "com.atomikos" because that is how Atomikos is setup -->
            <priority value="error"/>
    </category>

  6. 开启远程debug

    在${moqui.home}/build.gradle添加
    task debug(type: JavaExec) {
        dependsOn allBuildTasks
        dependsOn cleanTempDir
        workingDir = '.'; jvmArgs = ['-server', '-XX:MaxPermSize=128m', '-Xnoagent','-Djava.compiler=NONE','-Xdebug','-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8091']; maxHeapSize = '256M'
        systemProperties = ['moqui.conf':moquiConfDev, 'moqui.runtime':moquiRuntime]
        // NOTE: this is a hack, using -jar instead of a class name, and then the first argument is the name of the jar file
        main = '-jar'; args = [warName]
    }

    进入debug模式
    $ gradle debug



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值