新手干货 Apache Ofbiz介绍+安装到使用

本文详细介绍了Apache Ofbiz,一个企业级应用框架,包括其概念、下载、安装配置环境的步骤。内容涵盖从选择版本、配置JDK、修改数据库连接、启动服务到使用Web工具进行实体和服务管理。此外,还指导了如何创建自定义组件和数据库实体,以及导入数据到实体中的流程。
摘要由CSDN通过智能技术生成

1.介绍(Introduction):

OFBiz is an Apache Software Foundation top level project.

      首先先介绍一下 广义 Apache Ofbiz,Apache  OFBiz全称是The ApacheOpen For Business Project。Open For Business(OFBiz)是一套基于通用架构的企业应用程序,使用通用数据,逻辑和流程组件。 应用程序的松散耦合特性使这些组件易于理解,扩展和定制。

    提供了创建基于最新的J2EE/XML规范和技术标准,构建大中型企业级、快平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架,类似 ERP,CRM,ORDER,电商..... 很多模块
  OFBiz几乎实现了所有的J2EE核心设计模式,各个模块之间的耦合比较松散,用户能够比较容易的根据自己的需要进行拆卸,非常灵活。下面介绍一下它的目录结构以及文件说明。

2.下载(DownLoad)

https://ofbiz.apache.org/developers.html

  搜索ofbiz 进入官方地址·  捣鼓那个网下载 ofbiz16.11.05的  (见图)

https://www.apache.org/dyn/closer.lua/ofbiz/apache-ofbiz-16.11.05.zip

 

  你可以 链接到网址:https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide

然后再去对比其他文档看 之前文档都是很早之前的 文档了 新的版本都有所不同 

(备注 :我这里用的 是 ofbiz16.11.05 支持jdk1.8)

好了,看到这么多的(版本)不同时间的,版本的不同点 你都可以从上面链接里面Get到  (简直就是,哪里不懂点哪里 ... ... )

 

 

3.安装配置环境 (Installation configuration environment)

    上面备注了 我下载的是 Apachea OFbiz16版本的  支持jdk1.8(老版本以上 ,需另外更改配置)

下载了之后,简单操作,解压,该项目名称(记得要改文件名称,不然了解一下不改名为啥不行  也好 (* ̄︶ ̄) -!)

解压好的项目层级目录,这里介绍一下 这些包都是干什么用的

 

运行Apache ofbiz

  • 下载,解压,配置到本地,进入安装目录(即解压目录)导入到idea开发工具中 

  • 解压目录下:\framework\entity\config\entityengine.xml  中更改为本地mysql配置

       在本地数据库创建 ofbiz ,ofbizolap, ofbiztenant 三个数据库

下面我把我配置的本地mysql 代码 贴上来了   直接搜索 localmysql 可以发现 我改了三处   localmysql(ofbiz),localmysqlolap (ofbizolap),localmysqltenant (ofbiztentant)  。记得啊再往下面 还要配置自己的本地数据库 root、password  忘记了的话本地数据库的新建三个库里不会生成数据表(里面主体表:ofbiz)         

 

  默认先在本地创建三个数据库 (配置utf-8)

   然后这样还是不行的, 还要修改一处 mysql的驱动包 要添加到依赖中去也就是  解压文件下的 build.gradle文件下 配置 依赖包

 // MySQL Connector l
    compile  'mysql:mysql-connector-java:5.1.41'
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
 - This file configures the Entity Engine JDBC (or other DataSource) and JTA
access. For a detailed description see the core/docs/entityconfig.html file.
-->
<entity-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entity-config.xsd">
    <resource-loader name="fieldfile" class="org.apache.ofbiz.base.config.FileLoader"
                     prepend-env="ofbiz.home" prefix="/framework/entity/fieldtype/"/>

    <!-- the transaction factory class to use, one is needed for each way of getting JTA interfaces -->
    <!-- Use this one for Geronimo -->
    <transaction-factory class="org.apache.ofbiz.entity.transaction.GeronimoTransactionFactory"/>

    <!-- Use this one for getting the JTA objects from JNDI -->
    <!-- NOTE: to use the JndiFactory you must specify the necessary JNDI properties
    <transaction-factory class="org.apache.ofbiz.entity.transaction.JNDITransactionFactory">
        <user-transaction-jndi jndi-server-name="default" jndi-name="java:comp/UserTransaction"/>
        <transaction-manager-jndi jndi-server-name="default" jndi-name="java:comp/UserTransaction"/>
    </transaction-factory>
    -->
    <!--
        It is common to use UserTransaction for the TransactionManager, but if that doesn't work, try this: <transaction-manager-jndi jndi-server-name="default" jndi-name="java:comp/TransactionManager"/>
        Common UserTransaction locations:
            java:comp/UserTransaction (most servers: Resin, Orion, OC4J, etc)
            UserTransaction (RexIP)
        JBoss uses two different objects for the UserTransaction and TransactionManager interfaces;
        they are located in JNDI at: "java:comp/UserTransaction" and "java:/TransactionManager" respectively
    -->

    <!-- the connection factory class to use, one is needed for obtaining connections/pools for defined resources -->
    <connection-factory class="org.apache.ofbiz.entity.connection.DBCPConnectionFactory"/>

    <debug-xa-resources value="false" />  <!-- see https://issues.apache.org/jira/browse/OFBIZ-4282 for more -->

    <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.apache.ofbiz" datasource-name="localmysql"/>
        <group-map group-name="org.apache.ofbiz.olap" datasource-name="localmysqlolap"/>
        <group-map group-name="org.apache.ofbiz.tenant" datasource-name="localmysqltenant"/>
    </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.apache.ofbiz" datasource-name="localderby"/>
        <group-map group-name="org.apache.ofbiz.olap" datasource-name="localderbyolap"/>
        <group-map group-name="org.apache.ofbiz.tenant" datasource-name="localderbytenant"/>
    </delegator>

    <!-- be sure that your default delegator (or the one you use) uses the same datasource for test. You must run "gradlew loadDefault" before running "gradlew testIntegration" -->
    <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
        <group-map group-name="org.apache.ofbiz" datasource-name="localderby"/>
        <group-map group-name="org.apache.ofbiz.olap" datasource-name="localderbyolap"/>
        <group-map group-name="org.apache.ofbiz.tenant" datasource-name="localderbytenant"/>
    </delegator>

    <!-- need to at least define a name for each component to use -->
    <entity-model-reader name="main"/>

    <!-- need to at least define a name for each component to use -->
    <entity-group-reader name="main"/>

    <!-- need to at least define a name for each component to use -->
    <entity-eca-reader name="main"/>

    <!-- need to at least define a name for each component to use -->
    <!-- defining:
        tenant       = OFBiz and External Tenant Data
        seed         = OFBiz and External Seed Data - to be maintained along with source and updated whenever a system deployment is updated
        seed-initial = OFBiz and External Seed Data - to be maintained along with source like other seed data, but only loaded initially and not updated when a system is updated except manually reviewing each line
        demo         = OFBiz Only Demo Data
        ext          = External General Data (custom)
        ext-test     = External Test Data (custom)
        ext-demo     = External Demo Data (custom)
    -->
    <entity-data-reader name="tenant"/>
    <entity-data-reader name="seed"/>
    <entity-data-reader name="seed-initial"/>
    <entity-data-reader name="demo"/>
    <entity-data-reader name="ext"/>
    <entity-data-reader name="ext-test"/>
    <entity-data-reader name="ext-demo"/>

    <field-type name="hsql" loader="fieldfile" location="fieldtypehsql.xml"/>
    <field-type name="derby" loader="fieldfile" location="fieldtypederby.xml"/>
    <field-type name="daffodil" loader="fieldfile" location="fieldtypedaffodil.xml"/>
    <field-type name="axion" loader="fieldfile" location="fieldtypeaxion.xml"/>
    <field-type name="mysql" loader="fieldfile" location="fieldtypemysql.xml"/>
    <field-type name="postgres" loader="fieldfile" location="fieldtypepostgres.xml"/>
    <field-type name="oracle" loader="fieldfile" location="fieldtypeoracle.xml"/>
    <field-type name="sapdb" loader="fieldfile" location="fieldtypesapdb.xml"/>
    <field-type name="sybase" loader="fieldfile" location="fieldtypesybase.xml"/>
    <field-type name="firebird" loader="fieldfile" location="fieldtypefirebird.xml"/>
    <field-type name="mssql" loader="fieldfile" location="fieldtypemssql.xml"/>
    <field-type name="advantage" loader="fieldfile" location="fieldtypeadvantage.xml"/>

    <!--
    For DAO/JDBC Helper: Tries:
      1. JNDI Datasource IF jdbc.jndi.name, context.provider, etc are specified
      2. Embedded (JOTM) if available (uses jdbc.driver, jdbc.uri, jdbc.username, jdbc.password, isolation.level)
      3. Direct to manually laoded JDBC driver (uses jdbc.driver, jdbc.uri, jdbc.username, jdbc.password)

    Transaction Isolation Levels - (<helperName>.isolation.level) can be as follows:
     * None
     * ReadCommitted (Recommended)
     * ReadUncommitted
     * RepeatableRead
     * Serializable (NOT Recommended)
     * Not set uses database default
    -->

    <datasource name="localhsql"
                helper-class="org.apache.ofbiz.entity.datasource.GenericHelperDAO"
                field-type-name="hsql"
                check-on-start="true"
                add-missing-on-start="true"
                check-indices-on-start="true"
                use-foreign-keys="true"
                use-foreign-key-indices="true"
                use-fk-initially-deferred="false"
                join-style="ansi-no-parenthesis"
                alias-view-columns="true">
        <read-data reader-name="tenant"/>
        <read-data reader-name="seed"/>
        <read-data reader-name="seed-initial&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值