Apache OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。 OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。
准备工作:
1:安装 JDK 1.6
2:安装 MySQL
3: 安装ant
4: 从apache官网下载apache-ofbiz-10.04,解压到任意目录,改为ofbiz(我放在myeclipse工作空间,方便导入)。并在mysql创建数据库名为ofbiz
5: 编辑D:\Workspaces\ofbiz\framework\entity\config下的entityengine.xml
注意只需要更改红色标记的配置
<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>
<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"
table-type="InnoDB"
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="root "
jdbc-password="123 "
isolation-level="ReadCommitted"
pool-minsize="2"
pool-maxsize="250"
time-between-eviction-runs-millis="600000"/><!-- Please note that at least one person has experienced a problem with this value with MySQL
and had to set it to -1 in order to avoid this issue.
For more look at http://markmail.org/thread/5sivpykv7xkl66px and http://commons.apache.org/dbcp/configuration.html-->
<!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
</datasource>
6:把mysql驱动jar包copy到D:\Workspaces\ofbiz\framework\entity\lib\下
7: 这个问题要注意
在5.1以及之前版本的MySQL中新建一个Table,可以这样执行:
CREATE TABLE t (i INT) TYPE = MYISAM;
或者
CREATE TABLE t (i INT) ENGINE = MYISAM;
在MySQL5.5版本中,用TYPE来指定存储引擎已经行不通,标准用法是ENGINE。
因此要修改ofBiz ,ofbiz\framework\entity\src\org\ofbiz\entity\jdbc\DatabaseUtil.java 这个工具类生成的建表SQL,是用TYPE = 的。修改 DatabaseUtil.java 类即可(找到createTable方法把 if (UtilValidate.isNotEmpty(this.datasourceInfo.tableType)) {
sqlBuf.append(" ENGINE ");type改为 ENGINE
sqlBuf.append(this.datasourceInfo.tableType);
})或者的话无法初始化数据库
8:进入到ofbiz根目录下,使用ant命令执行:ant run-install (大约16~20分钟)出现
BUILD SUCCESSFUL
Total time: 16 minutes 48 seconds 表示初始化成功
9:导入myeclipse(import...)
启动 ofbiz:
有两种方式可以启动 ofbiz:
1、 双击根目录下的 startofbiz.bat启动
2、 在 myeclipse中用鼠标右键点击 build.xml,在右键菜单中选择 Run As->Ant Build…在弹出的构建对话框中 targets选项卡中勾选 run后点击 run,这样ok啦
访问 ofbiz:
输入 https://127.0.0.1:8443/webtools/control/main就可以进入后台管理页面了,页面上直接有提示,默认的账户名是admin,密码是ofbiz。
http://localhost:8080/ecommerce/control/main网上商城