安装部署ofbiz 16.11.02

昨天收到一份ofbiz更新的到16.11.02版本的邮件,刚好有空准备部署一个玩玩看。

一、安装环境:

1.已安装装了mysql数据库,并且创建数据库ofbiz。

2.jdk8


二、下载ofbiz

官网下载ofbiz:Download Apache OFBiz 16.11.02


三、安装部署ofbiz

1. 解压ofbiz至指定目录。

2.修改配置文件,配置管理本地数据库。

设置实体引擎(Entity Engine)的默认数据库为mysql.对 ${Ofbiz_Home}/framework/entity/config/entityengine.xml配置文件进行修改: 

  i.默认的数据库为derby,所以要把localderby改成MySql 

<delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false"> 
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/> 
        <group-map group-name="org.ofbiz.olap" datasource-name="localmysql"/> 
        <group-map group-name="org.ofbiz.tenant" datasource-name="localmysql"/> 
    </delegator> 
    <delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false"> 
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/> 
        <group-map group-name="org.ofbiz.olap" datasource-name="localmysql"/> 
        <group-map group-name="org.ofbiz.tenant" datasource-name="localmysql"/> 
    </delegator> 

    <!-- be sure that your default delegator (or the one you use) uses the same datasource for test. You must run "ant run-install" before running "ant run-tests" --> 
    <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main"> 
        <group-map group-name="org.ofbiz" datasource-name=" localmysql "/> 
        <group-map group-name="org.ofbiz.olap" datasource-name=" localmysql "/> 
        <group-map group-name="org.ofbiz.tenant" datasource-name=" localmysql "/> 
</delegator> 


  ii. 修改实体引擎的默认数据库的配置信息 

<datasource name="localmysql" 
            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO" 
            field-type-name="mysql" 
            check-on-start="true" 
            add-missing-on-start="true" 
            check-pks-on-start="false" 
            use-foreign-keys="true" 
            join-style="ansi-no-parenthesis" 
            alias-view-columns="false" 
            drop-fk-use-foreign-key-keyword="true" 
            engine="InnoDB" <!-- 现在mysql一般的引擎都是InnoDB,早在4.0时代就不推荐使用type,现在改成engine ,--> 
            character-set="utf8" <!--字符集> 
            collate="utf8_general_ci"><!--排序方式> 
            

            <read-data reader-name="seed"/> 
            <read-data reader-name="seed-initial"/> 
            <read-data reader-name="demo"/> 
            <read-data reader-name="ext"/> 
            <inline-jdbc 
                jdbc-driver="com.mysql.jdbc.Driver" 
                jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true" 
                jdbc-username="ofbiz"<!-- 这里都是数据库的基本配置信息,改成自己对应的--> 
                jdbc-password="ofbiz" 
                isolation-level="ReadCommitted" 
                pool-minsize="2" 
                pool-maxsize="250" 连接池没必要搞这么多,50够了 
                time-between-eviction-runs-millis="600000"/>        
    </datasource> 

3.编译项目

点击解压目录下的gradlew.bat文件,会自动下载gradlew以及相关的依赖。(这个步骤花费时间最长,去了我N个小时,从早下下载到下午,中间经常卡住,关掉重新下载)


4.运行项目

输入``gradlew cleanAll loadDefault`  导入数据


输入``gradlew ofbiz` 运行项目


启动过程发现报异常了。看了异常日志是由于缺少数据库驱动包。于是将mysql驱动包放入根目录下的lib文件里面。(重复4步骤)


5.测试访问页面

### Visit OFBiz through your browser:

[Order Back Office](https://localhost:8443/ordermgr)

[Accounting Back Office](https://localhost:8443/accounting)

[Administrator interface](https://localhost:8443/webtools)


四、常见问题与解决方案

日志目录:D:\soft\apache-ofbiz-16.11.02\runtime\logs

gradlew下载的依赖目录:C:\Users\Administrator\.gradle

访问https://localhost:8443/ordermgr时报错:

Data truncation: Incorrect datetime value: '' for column 'LAST_UPDATED_STAMP' at row 1

解决方案:

驱动包最好要新版本,我之前用了mysql-connector-java-3.1.13-bin.jar,然后报该异常,然后替换为mysql-connector-java-5.1.38就没有这个异常了)

换了新版本后出现下面异常:

Caused by: java.lang.IllegalArgumentException: Template location is empty

解决方案:替换新版本mysql驱动包后,``gradlew cleanAll loadDefault` 重新导入数据启动就好了。



ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction.

解决方案:暂时没解决,但是页面能正常访问了,所以暂时先不管了。






  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值