zoukankan      html  css  js  c++  java
  • OFBIZ 10.04 开发环境搭建(ofbiz+mysql+eclipse)

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

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

       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="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下项目ofbiz10.0.4的根目录(如:D:workspaceofbiz),输入 ant run-install进行ofbiz的数据初始。十多分钟,验证:http://localhost:8443/webtools 
    ---------------------------------分割线-------------------------------- 

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

    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是用 rameworkentitysrcorgofbizentityjdbcDatabaseUtil.java  这个工具类生成的建表SQL,这这个工具类用到type.所以导致错误。 17jquery.com 

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


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

    ant clean-all (清理) 
    ant run-install (加载数据库表结构) 
    ant run-install-seed(加载种子数据的,也就是系统初始数据) 
    startofbiz.bat (启动服务)

  • 相关阅读:
    基于CentOS构建企业镜像站
    Linux命令——set 和 unset
    Bash基础——命令替换
    Bash基础——内置命令
    Linux命令——logger
    Linux命令——pgrep
    Linux下制作静态库 & 动态库
    理解ld-linux.so.2
    Bash基础——printf
    【问题】man手册如何查看区分printf命令和printf函数
  • 原文地址:https://www.cnblogs.com/lovenan/p/3253085.html
Copyright © 2011-2022 走看看