JForum论坛源码部署

源码下载

Download jforum ZIP package-----发布版

Download jforum source code  -----源码下载后的文件为   rafaelsteil-jforum2-5eafc79.zip

  源码的版本应该是2.1.8

在eclipse中搭建开发环境

在eclipse中新建web项目;

JForum论坛源码部署

JForum论坛源码部署

解压下载的jforum代码包。将除src以及.classpath和.settings文件夹以外的全部文件拷贝到新建的web项目的WebContent文件夹下,将src文件夹下的内容拷贝到web项目下的src目录下。 

创建数据库

在mysql中执行如下语句创建数据库:

CREATE DATABASE JForum DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
修改WEB-INF\config\database\mysql目录下的mysql..properties文件。将database.connection.password= 加上自己的数据库的密码。

将项目发布到tomcat

 参考https://blog.csdn.net/niaoqq1/article/details/81750670

启动web服务

上述步骤执行完成之后即可将tomcat服务启动。然后访问http://localhost:8080/jforum/install.jsp 
JForum论坛源码部署
看到如上说明开发环境顺利搭建好,下一步需要安装论坛了。

将需要填写的信息依次填入。点击下一步进行安装。 如果顺利,结果如下:

JForum论坛源码部署

如果遇到如下错误:

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 
JForum论坛源码部署
请更新WEB-INF\config\database\mysql下的mysql_db_struct.sql文件将引擎更换为对应mysql版本的引擎即可,如我使用ENGINE=InnoDB DEFAULT CHARSET=utf8替换ENGINE=InnoDB DEFAULT CHARSET=utf8。

JForum论坛源码部署

常见问题解决

 1.打开jforum/WEB-INF/config/SystemGlobals.properties

   修改i18n.board.default = en_US   为 i18n.board.default = zh_CN

  下面的可以不用管如果没啥问题的话。

  将default.container.encoding = ISO-8859-1,修改为:

  default.container.encoding = UTF-8

  这里是设置容器的编码。由于我在tomcat的conf/server.xml中设置过URIEncoding="UTF-8",所以这里要一致。

  tomcat默认的编码是iso-8859-1,如果你没有改动,此处可以不修改。 

2.打开jforum/WEB-INF/config/database/mysql.properties

  定位到database.connection.string一项,在末尾追加&characterEncoding\=UTF-8&useSSL\=false

3.无法找到发帖图片,原因是中文国际化包支持没有在项目中。在\templates\gpl_icons下的gpl_icon包,找到中文包JForum论坛源码部署 
在templete/default/images下创建zh_CN文件夹,将图片放入即可。刷新浏览器,既可以看到之前没有看到的发帖按钮图片等。 
JForum论坛源码部署 
4.版权修改 
在templete/default下找到bottom.html文件,修改如下内容即可JForum论坛源码部署
JForum论坛源码部署

 

由于jforum使用的是freemark,所以修改页面比较简单,只需要猜测一下大致的名称,比如login是登录post是发帖,找到对应的html修改静态页面,即可对论坛进行界面开发。 
5.中文搜索乱码报错 
原因是lucene全文检索的时候,没有正确传入搜索参数,追根溯源,发现是前端编码格式导致后端获取数据错误。修改WEB-INF/config/SystemGlobals.properties文件的default.container.encoding = ISO-8859-1为default.container.encoding = UTF-8 重新刷新页面,搜索中文,即可正常进行搜索。