搜档网
当前位置:搜档网 › OfBiz安装和配置

OfBiz安装和配置

OfBiz安装和配置
OfBiz安装和配置

必备软件

Jdk7

文件名:java_ee_sdk-6u4-jdk7-windows.exe

eclipse

MySQL Installer 5.6 for Windows

MySql Connectors

文件名:mysql-connector-java-gpl-5.1.35.msi

.Net Framework 4.0

文件名:dotNetFx40_Full_x86.exe

OfBiz13.07.01

apache-ofbiz-13.07.01.zip

安装

安装和设置JAVA环境

新建系统变量JAVA_HOME:C:\Program Files (x86)\Java\jdk7

系统变量Path的值加入内容:%JAVA_HOME%\bin;

安装MySql数据库

依赖于:

Microsoft .NET Framework 4 Client Profile

dotNetFx40_Client_setup.exe

Microsoft Visual C++ 2013 Redistributable Package (x86 or x64)

vcredist_x86.exe

安装MySql

建立一个数据库ofbiz。新建一个用户ofbiz和密码ofbiz,并且赋予ofbiz全部权限。

集成开发工具eclipse(java环境要加进来)

解压apache-ofbiz-13.07.01.zip到eclipse工作目录下,打开eclipse载入apache-ofbiz-13.07.01

数据库安装和配置

将MySql的jdbc驱动拷贝到${Ofbiz_Home}/framework/entity/lib/jdbc 目录下。

不安装,会报如下错误:

[java] Exception: https://www.sodocs.net/doc/a36362768.html,ng.ClassNotFoundException

[java] Message: Cached loader got a known bad class name:com.mysql.jdbc.Driver

[java] ---- stack trace ------

设置实体引擎(Entity Engine)的默认数据库

配置文件:${Ofbiz_Home}/framework/entity/config/entityengine.xml

●默认的数据库为derby,把localderby改成MySql

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

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"

character-set="utf8"

jdbc-password="ofbiz"

isolation-level="ReadCommitted"

pool-minsize="2"

pool-maxsize="250" 连接池没必要搞这么多,50够了

time-between-eviction-runs-millis="600000"/>

运行OfBiz (CTRL+R)

输入cmd进入命令模式,cd到你eclipse的工作目录workspace下项目ofbiz12.0.4的根目录(如:D:\workspace\ofbiz),

安装OFBIZ演示数据:

$ ant load-demo

$ ant start

安装过程出现的错误解决方案:

1.

错误:Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException

Message: Table 'ofbiz.status_type' doesn't exist

在5.1以及之前版本的MySQL中新建一个Table,可以这样执行:

CREATE TABLE t (i INT) TYPE = MYISAM;

或者

CREATE TABLE t (i INT) ENGINE = MYISAM;

在MySQL5.5版本中,用TYPE来指定存储引擎已经行不通,标准用法是ENGINE。

其实早在MySQL的NN个版本之前,官方手册已经建议废弃TYPE而推荐使用ENGINE,确切说是从MySQL 4.0.18版本开始,用TYPE指定存储引擎的语法一直保留至MySQL5.1,也仅仅是为了兼容旧的数据库版本。

从现在开始,TYPE已经被禁用,指定MySQL存储引擎的命令没有其他选择,必须使用ENGINE。

而ofBiz是用\framework\entity\src\org\ofbiz\entity\jdbc\DatabaseUtil.java 这个工具类生成的建表SQL,这这个工具类用到type.所以导致错误。

将createTable方法中的

if (UtilValidate.isNotEmpty(this.datasourceInfo.tableType)) {

sqlBuf.append(" TYPE ");

sqlBuf.append(this.datasourceInfo.tableType);

}

中的TYPE修改为ENGINE

2.

[java] Exception: https://www.sodocs.net/doc/a36362768.html,ng.ClassNotFoundException

[java] Message: Cached loader got a known bad class name:com.mysql.jdbc.Driver

如果忘记了驱动,更新JDBC驱动,将mysql的jdbc驱动拷贝到${Ofbiz_Home}/framework/entity/lib/jdbc 目录下。

相关主题