OFBIZ 10.04 安装(ofbiz+mysql+eclipse)

1.下载安装 JDK1.6,并设置环境变量

在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。
新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.6.0_31
在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;

http://download.oracle.com/otn-pub/java/jdk/6u31-b05/jdk-6u31-windows-i586.exe(Win 32位)

2.安装mysql数据库(下面链接,找适合自己系统的)
建立一个数据库ofbiz。新建一个用户ofbiz和密码ofbiz,并且赋予ofbiz全部权限。
都设置ofbiz,是为了偷懒,就搞成跟ofbiz里面的配置一样,如果有其他需求,自行
设置,只要与ofbiz数据库访问配置一样就行。
http://dev.mysql.com/downloads/mysql/5.1.html

3.下载apache-ofbiz-10.04.zip
http://mirror.bjtu.edu.cn/apache/ofbiz/apache-ofbiz-10.04.zip

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

解压ofbiz10.0.4到eclipse工作目录下,打开eclipse载入ofbiz10.04

5.更新JDBC驱动,将mysql的jdbc驱动拷贝到${Ofbiz_Home}/framework/entity/lib/jdbc 目录下。
如果忘记了驱动,安装的时候,会报如下错误:
[java] Exception: java.lang.ClassNotFoundException
[java] Message: Cached loader got a known bad class name:com.mysql.jdbc.Driver
[java] ---- stack trace ------
6.设置实体引擎(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="[color=red]localmysql[/color]"/>
<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="[color=red]localmysql[/color]"/>
<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=" [color=red]localmysql[/color] "/>
<group-map group-name="org.ofbiz.olap" datasource-name=" localmysql "/>
<group-map group-name="org.ofbiz.tenant" datasource-name=" localmysql "/>
</delegator>


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

<datasource name="[color=red]localmysql[/color]"
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="[color=red]utf8[/color]" <!--字符集>
collate="[color=red]utf8_general_ci[/color]"><!--排序方式>


<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/[color=red]ofbiz[/color]?autoReconnect=true"
jdbc-username="[color=red]ofbiz[/color]"<!-- 这里都是数据库的基本配置信息,改成自己对应的-->
jdbc-password="[color=red]ofbiz[/color]"
isolation-level="ReadCommitted"
pool-minsize="2"
pool-maxsize="[color=red]250[/color]" 连接池没必要搞这么多,50够了
time-between-eviction-runs-millis="600000"/>
</datasource>


7.运行(CTRL+R)<!--方式多种,也可以在eclipse中完成>
输入cmd进入命令模式,cd到你eclipse的工作目录workspace下项目ofbiz10.0.4的根目录(如:D:\workspace\ofbiz),输入 ant run-install进行ofbiz的数据初始。十多分钟,验证:https://localhost:8443/webtools或者http://localhost:8080/webtools
---------------------------------分割线--------------------------------

[b][size=x-large][color=brown]安装过程出现的错误解决方案:[/color][/size][/b]

1.

错误: Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
Message: Table 'ofbiz.status_type' doesn't exist

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

CREATE TABLE t (i INT) [color=red]TYPE[/color] = MYISAM;

或者

CREATE TABLE t (i INT) [color=red]ENGINE[/color] = 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(" [color=red]TYPE[/color] ");
sqlBuf.append(this.datasourceInfo.tableType);
}
  中的[color=red]TYPE[/color]修改为[color=red]ENGINE[/color]

2.

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

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

3.

[java] at org.ofbiz.entityext.data.EntityDataLoadContainer.start(Entity
DataLoadContainer.java:230)
[java] 2012-03-25 03:48:02,996 (OFBiz_Shutdown_Hook) [ ContainerLoader.j
ava:113:INFO ] Shutting down containers
[java] at org.ofbiz.base.container.ContainerLoader.start(ContainerLoade
r.java:100)
[java] at org.ofbiz.base.start.Start.startStartLoaders(Start.java:272)
[java] at org.ofbiz.base.start.Start.startServer(Start.java:322)
[java] at org.ofbiz.base.start.Start.start(Start.java:326)
[java] at org.ofbiz.base.start.Start.main(Start.java:411)
[java] Java Result: 1

BUILD SUCCESSFUL
Total time: 54 seconds
具体错误,请参阅:http://www.iteye.com/problems/80652
这里提醒大家,就是你在数据库访问的配置entityengine.xml里的编码以及排序方式都要跟你在mysql里面所创建的数据库的编码及其排序要一样。不然ofbiz数据表结构永远不会创建成功。修改之后不会报如上错误(代码片段)。数据库结构成功初始。

4.

如果还有其他杂七杂八的错误可以尝试先清理下,下列给出一点ofbiz相关清理、初始、启动的一些服务。

ant clean-all (清理)
ant run-install (加载数据库表结构)
ant run-install-seed(加载种子数据的,也就是系统初始数据)
startofbiz.bat (启动服务)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值