Win7+MySql,opentaps安装

opentaps主页上没有提供下载,要到sourceforge上去下http://sourceforge.net/projects/opentaps/

在MySql中新建opentaps
CREATE DATABASE `opentaps` /*!40100 DEFAULT CHARACTER SET utf8 */;

opentaps
修改framework\entity\config\entityengine.xml 文件

    a)找到<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="localderby"/>(54行)的localderby修改为localmysql

    b)找到<datasource name="localmysql"  (314行)做以下修改:

       table_type="InnoDB"  修改为  Engine="InnoDB"

       character-set="lantin1"  修改为  character-set="utf8"

       collate="lantin1_general_cs"  修改为  collate="utf8_general_ci"

       jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true&amp;useOldAliasMetadataBehavior=true"  中的ofbiz修改为opentaps   //opentaps为创建的数据库名字

       jdbc-username="ofbiz"  和  jdbc-password="ofbiz"  中的ofbiz修改为mysql上创建了的用户名和密码

     c)修改build.properties文件,把里面的内存值减小一半(如果内存是4G以上就不用修改了)

     d)把 \framework\webapp\src\org\ofbiz\webapp\controlfor\ConfigXMLReader.java文件中的 81行 

       for (String a : url.toString().split(File.seperator)) {   中File.seperator修改为 "/"

 e)打开\opentaps\opentaps\opentaps-common\build-aspects.xml文件,将以下三行注释掉

      <jar jarfile="${ofbiz.dir}/framework/entity/build/lib/ofbiz-entity.jar" update="true" basedir="${build.dir}/classes/" includes="META-INF/aop.xml" />

      <jar jarfile="${ofbiz.dir}/framework/common/build/lib/ofbiz-common.jar" update="true" basedir="${build.dir}/classes/" includes="META-INF/aop.xml" />

      <jar jarfile="${ofbiz.dir}/applications/order/build/lib/ofbiz-order.jar" update="true" basedir="${build.dir}/classes/" includes="META-INF/aop.xml" />

      f) 如果Mysql 版本太低,会导致表无法创建, 解决方法如下
  framework\entity\src\org\ofbiz\entity\jdbc下的DatabaseUtil.java
  将createTable方法中的
    if (UtilValidate.isNotEmpty(this.datasourceInfo.tableType)) {
            sqlBuf.append(" TYPE ");
            sqlBuf.append(this.datasourceInfo.tableType);
        }
  中的TYPE修改为ENGINE
cmd命令行,到解压后的opentaps目录中,执行ant run-install
得到
BUILD SUCCESSFUL
Total time: 22 minutes 33 seconds

修改startofbiz.bat,把内存值修改为256M,512M,512M(如果是4G内存,则不用改)

在CMD命令行中键入startofbiz.bat等待...。出现connectorservlet successful initialized说明运行成功。
在浏览器中键入:http://localhost:8080/opentaps
出现登陆界面后用户名是admin,密码是opentaps。如果密码不对的话,可以到mysql中去查看user_login表,表上有用户名和密码。

遇到问题:
ant run-install安装都没有问题,提示:BUILD SUCCESSFUL
可是启动服务时:
E:\Setup\opentaps>startofbiz.bat
E:\Setup\opentaps>echo off
E:\Setup\opentaps>"D:\Program Files\Java\jdk1.6.0_43\bin\java" -Xms256M -Xmx768M
 -XX:MaxPermSize=512M -jar ofbiz.jar  1>runtime\logs\console.log
就报错:
E:\Setup\opentaps>"D:\Program Files\Java\jdk1.6.0_43\bin\java" -Xms256M -Xmx768M
 -XX:MaxPermSize=512M -jar ofbiz.jar  1>runtime\logs\console.log
org.ofbiz.base.start.StartupException: Cannot start() org.ofbiz.base.container.NamingServiceContainer (Unable to locate naming service (Port already in use: 1099; nested exception is:
打开untime\logs\console.log,找到第一个错误:
L:164
2013-03-26 18:53:04,787 (main) [       DatabaseUtil.java:1061:ERROR] Unable to establish a connection with the database... Error was:java.sql.SQLException: Unable to acquire a new connection from the pool
jdbc-username="ofbiz"  和  jdbc-password="ofbiz"  中的ofbiz修改为mysql上创建了的用户名和密码
还有错,再看:
L:207
2013-03-26 19:13:08,681 (main) [       DatabaseUtil.java:353:ERROR] Could not create table [ACCOMMODATION_CLASS]: SQL Exception while executing the following:
CREATE TABLE ACCOMMODATION_CLASS (ACCOMMODATION_CLASS_ID VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PARENT_CLASS_ID VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci, DESCRIPTION VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci, LAST_UPDATED_STAMP DATETIME, LAST_UPDATED_TX_STAMP DATETIME, CREATED_STAMP DATETIME, CREATED_TX_STAMP DATETIME, CONSTRAINT PK_ACCOMMODATION_CLASS PRIMARY KEY (ACCOMMODATION_CLASS_ID)) TYPE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
Error was: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci' at line 1
把这条长长的SQL建表语句复制到MYSQL里,看到TYPE InnoDB的TYPE下有红线,到framework\entity\config\entityengine.xml中找到
table_type="InnoDB"  修改为  Engine="InnoDB"
再执行,通过了.
收获,总结:命令行上的输出,有时候不够准确,要学会在console.log中找到错误原因.

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值