ofbiz12.04环境搭建

参考文章 :http://www.haogongju.net/art/1363101


一、软件必备:

1jdk1.6下载地址

http://pan.baidu.com/share/link?shareid=340832&uk=3121382192

2eclipse下载地址

http://pan.baidu.com/share/link?shareid=340802&uk=3121382192

3mysql5.5下载地址

http://pan.baidu.com/share/link?shareid=340800&uk=3121382192

4navicat for mysql下载地址

http://pan.baidu.com/share/link?shareid=340799&uk=3121382192

5. .net framework 4.0下载地址

http://6.scdx3.crsky.com/201004/dotNetFx40_Full_x86.exe

因为ofbiz里已经集成了tomcat,这里就不需要安装了

二、安装:

1.默认安装 JDK1.6,并设置环境变量 

   在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。 
   新建 系统 变量 JAVA _HOME:C:\Program Files\Java\jdk1.6.0_10

   在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin; 


2.安装mysql数据库

由于windows的mysql依赖.net framework 4.0,故先安装它,再安装mysql

  建立一个 数据 库ofbiz。新建一个 用户 ofbiz和密码ofbiz,并且赋予ofbiz全部权限。 
  都设置ofbiz,是为了偷懒,就搞成跟ofbiz里面的配置一样,如果有其他需求,自行 
  设置,只要与ofbiz数据库访问配置一样就行。 

3.下载 apache -ofbiz-12.04.zip                                    
http://mirror.esocc.com/apache/ofbiz/apache-ofbiz-12.04.02.zip

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

  解压ofbiz12.0.4到eclipse工作目录下,打开eclipse载入ofbiz12.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=" 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> 


7.运行(CTRL+R) 

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

安装OFBIZ演示数据:

$ ant load-demo

启动OFBIZ:

$ 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: 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 目录下。 

你可能感兴趣的:(ofbiz12.04环境搭建)