您的位置:首页 > 其它

部署JForum 2.1.9遇到的问题及解决方法

2013-08-04 16:52 281 查看
说来惭愧,JForum我们已经当做实验对象很多年了,但是我一直没有自己部署过,都是师弟师妹完成的。今天由于实验需要,我自己部署了一下其最新稳定版(2.1.9),果然发现了一些小问题,看到有其他朋友也遇到过,就简单记录一下:

主要问题是出在连接数据库和创建表阶段,当我们配置好MySQL的各种参数后,创建表的时候会报错:

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' at line 1

Query being executed when exception was thrown:

CREATE TABLE jforum_banlist (  banlist_id INT NOT NULL auto_increment,  user_id INT,  banlist_ip varchar(15),  banlist_email varchar(255),  PRIMARY KEY  (banlist_id),  INDEX idx_user (user_id),  INDEX (banlist_ip),  INDEX (banlist_email)) TYPE=InnoDB
CREATE TABLE jforum_banlist (  banlist_id INT NOT NULL auto_increment,  user_id INT,  banlist_ip varchar(15),  banlist_email varchar(255),  PRIMARY KEY  (banlist_id),  INDEX idx_user (user_id),  INDEX (banlist_ip),  INDEX (banlist_email)) TYPE=InnoDB


简单查了一下,这主要是由于建表的SQL语句和MySQL的版本不一致导致的。简单来说,在MYSQL5.5及以后版本中type=InnoDB需要由ENGINE=InnoDB代替。那么解决方法也很简单,我们在“%TOMCAT安装目录%\webapps\jforum\WEB-INF\config\database\mysql”中可以看到创建表的SQL文件:mysql_db_struct.sql,我们用任意一种文本编辑工具打开,将其中的“TYPE=InnoDB”替换为“ENGINE=InnoDB”,然后再执行上面的建表语句,就可以正确执行了。

是不是很简单?

另外,看到有些朋友说,不知道怎么把已经部署在Tomcat上的JForum导入MyEclipse,其实套路都是固定的,感兴趣的朋友可以看看我这篇日志:将已部署的JPetStore导入MyEclipse 唯一需要注意的是,“Add
External JARs”的时候,需要JForum的源码包,其中的lib在类似于“rafaelsteil-jforum2-190d28b\WEB-INF\lib”这样的目录下。按照我日志里面的做做,基本就可以解决导入MyEclipse的问题了。希望能对大家有点帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: