一、opentaps简介
opentaps是一个基于ofbiz基础开发的完全开源的企业级应用系统。它包括了完整的ERP和CRM解决方案和内建的企业智能工具。
opentaps现在在国内应用面不象sugarcrm/vtigercrm这些企业应用那样普遍,我想很大程度是由于JavaEE应用的逻辑结构严谨与复杂度决定其不象PHP应用那样容易拆分按需阅读切入。了解一个JavaEE的应用需要先了解其构造的框图、分层结构、每层实现的技术方式以及采用的技术。对于OFBiz这样一个野心极大要囊括几乎所有企业应用层面的项目,想要掌握它就更难上加难了,也许我们可以选择简单开始,先从文档的中文化与由简入繁的练习中开始了解这个庞大的开源项目。
二、opentaps安装准备
1、安装JDK 1.5或以上版本,并在系统中设置好JAVA_HOME及相关PATH
2、安装MYSQL 5.0或以上版本
3、下载opentaps 最新版本(本文使用的是opentaps 1.5.0)
http://sourceforge.net/projects/opentaps/files/
三、开始安装
1、通过mysql命令行来创建opentaps所需数据库,为了方便识别,我们这里就用opentaps来做数据库吧。
mysql> create database opentaps;
2、将下载的opentaps解压至你电脑的任意合法目录(没有特殊字符)。
3、编辑opentaps目录中的framework/entity/config/entityengine.xml文件,使其能正确连接到你的mysql数据库中。
3.1 将其中的<delegator name="default"...> 段中的"datasource-name"从原来的"localderby"或"local" 改为 "localmysql"
3.2 编辑<datasource name="localmysql"...> 段内容,修改"jdbc-uri"为"jdbc:mysql://127.0.0.1/opentaps?autoReconnect=true";修改"jdbc-username"/ "jdbc-password"为你的mysql连接用户名/密码,修改character- set="utf8",collate=" utf8_general_ci",示例如下:
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="localderbyolap"/>
<group-map group-name="org.ofbiz.tenant" datasource-name="localderbytenant"/>
<group-map group-name="org.opentaps.analytics" datasource-name="analytics"/>
<group-map group-name="org.opentaps.testing" datasource-name="testing"/>
</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/opentaps?autoReconnect=true&useOldAliasMetadataBehavior=true"
jdbc-username="root"
jdbc-password="gxh201100"
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>
4、进行系统初始化
开始-cmd-cd到opentaps根目录
ant run-install
系统开始安装,这个时候是编译+系统安装,我大约用了6分多钟,直到系统提示安装完成。 这个过程很重要,也会出现很多问题,见最后的【问题一览】
在我的测试环境下的编译时间(Intel Q8200 2.33G 4核 4G内存):
BUILD SUCCESSFUL
Total time: 24 minutes 33 seconds
5、启动opentaps
双击运行opentaps目录下的startofbiz.bat命令即可,请注意控制台输入默认输出至log下的ofbiz.log中,所以无法从控制台中判断系统是否启动完成,一般需等待两到五分钟。也可以将输出改回至console。
6、访问opentaps
打开浏览器访问:http://localhost:8080/opentaps
点击你希望访问的功能特性,系统默认帐号为
admin/ofbiz,opentaps 1.5.0的默认账号为admin/opentaps,拥有所有权限。
参考: http://sns.juziyue.com/home.php?mod=space&do=blog&uid=4019&id=20438
http://www.opentaps.org/cndocs/index.php/%E9%85%8D%E7%BD%AE_opentaps
========================================================
启动 startofbiz.bat 时失败, 窗口闪一下就没了, 查看runtime\logs下的console.log, 信息是Could not reserve enough space for object heap, 原因是内存设置过大, 无法创建虚拟机(测试系统为Win2003 Sp2, 4G内存), 修改 startofbiz.bat 中的最后一行:
"%JAVA_HOME%\bin\java" -Xms512M -Xmx1536M -XX:MaxPermSize=1024M -jar ofbiz.jar > runtime\logs\console.log
为
"%JAVA_HOME%\bin\java" -Xms512M -Xmx768M -XX:MaxPermSize=512M -jar ofbiz.jar > runtime\logs\console.log
启动成功.
========================================================
关于ant run-install的错误:
Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)