当前位置: 首页 > 工具软件 > Opentaps > 使用案例 >

opentaps mysql_Win7+MySql,opentaps安装 | 学步园

汲利
2023-12-01

在MySql中新建opentaps

CREATE DATABASE `opentaps` /*!40100 DEFAULT CHARACTER SET utf8 */;

opentaps

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

a)找到

(54行)的localderby修改为localmysql

b)找到

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&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文件,将以下三行注释掉

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中找到错误原因.

 类似资料: