JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多数据库等等特性。
JForum 采用 FreeMarker 作为页面模板引擎,支持包括中文在内的二十几种语言。
JForum 最大的优点是采用 BSD 开源协议,你可以最大限度的进行任何修改和扩展,包括商业用途。

本文主要整理在本地搭建JForum的步骤(基于wampserver的MySQL)

安装步骤

1、安装jdk:

  略

2、安装tomcat:

  1. 官网上下载tomcat,https://tomcat.apache.org/download-70.cgi,解压
  2. tomcat环境配置:
    1. 系统变量里点新建:变量名:CATALINA_HOME,变量值:D:\software\Jmeter\apache-tomcat-7.0.81;

    2. 在classpath中加入%CATALINA_HOME%\lib\servlet-api.jar;

    3. 在path中加入%CATALINA_HOME%\bin;

  3. 运行:配置好后进入bin目录(D:\apache-tomcat-7.0.77)运行startup.bat后,在浏览器上输入http://localhost:8080/ 如果能出现下面页面代表安装成功了

3、安装MySQL

  本地已安装wampserver,步骤略

  也可在MySQL官网下载安装:https://dev.mysql.com/downloads/file/?id=471661

  数据库安装成功后用Navicat连接数据库

  执行命令创建jforum数据库:CREATE   DATABASE   JForum  DEFAULT   CHARACTER   SET   utf8   COLLATE   utf8_general_ci;

 4、搭建jforum

  1. 下载JForum的发布文件,JForum可以装载在tomcat中,需要将其发布文件下载,下载路径:http://jforum.net/download.jsp,Windows环境需要下载ZIP压缩包,我使用的是v2.1.9;

  2. 下载后将文件解压放置于tomcat的webapps目录下(D:\apache-tomcat-7.0.77\webapps);

  3. 登录Jforum的安装url:http://localhost:8080/jforum-2.1.9/install.jsp,这里端口号需要改成自己的Tomcat所在端口,我的端口默认为8080;

  4. 配置数据库参数。数据库端口、数据库用户名、密码根据自己的环境进行填写。系统管理员密码是管理论坛的,可自己设置不影响安装。

图片来源:http://www.cnblogs.com/hindy/p/7251818.html

设置完成后进入下一步,点击开始安装

报错处理:

如果出现如下错误:“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”,是因为与环境中的mysql版本不匹配导致的。

解决方式:修改SQL使用的mysql引擎注明方式。将\jforum-2.1.9\WEB-INF\config\database\mysql中\mysql_db_struct.sql中的“TYPE=InnoDB”修改为“ENGINE=InnoDB”。
然后再次进行安装;

如果出现如下错误:"java.sql.SQLException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. The value 'convertToNull' is not acceptable."说明mysql驱动版本与当前使用的mysql不一致,网上下载对应版本的mysql驱动放入WEB-INF目录下的lib目录中,重启安装即可(本次安装将mysql-connector-java-8.0.12.jar替换为mysql-connector-java-5.1.37-bin.jar即可)。

安装成功:

 注意:

安装数据库的时候,有可能报提醒说3306端口已经被占用,那么你就改成其它端口;

如果8080端口被占用,可以修改tomcat端口号;

成功安装后无法找到发帖图片:

原因一、可能是mysql驱动版本与当前使用的mysql不一致导致,有解决方案为更新对应版本的mysql驱动;

原因二、在目录templates\default\images 下面有个en_US目录,但是没有zh_CN目录,拷贝目录templates\default\images 下面的en_US目录为zh_CN,然后将zh_CN下面的相应图片替换为中文的图片即可。

jforum(1)--环境搭建的更多相关文章

  1. Jforum环境之Tomcat环境搭建

    Jforum环境搭建,需先安装JDK.JRE.Tomcat.Mysql(JDK.JRE暂不做说明).本文先说Tomcat环境搭建 1.进入Apache Tomcat官网下载,我选择的是免安装的zip包 ...

  2. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  3. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  4. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  5. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  6. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  7. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  8. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  9. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  10. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

随机推荐

  1. Android开发如何轻松实现基于Tesseract的Android OCR应用程序

    介绍 此应用程序使用Tesseract 3的Tesseract OCR引擎,该引擎通过识别字符模式( https://github.com/tesseract-ocr/tesseract )来工作. ...

  2. SQL Sever AlwaysOn的数据同步原理

    1. SQL Server AlwaysOn数据同步基本工作 AlwaysOn 副本同步需要完成三件事: 1.把主副本上发生的数据变化记录下来. 2.把这些记录传输到各个辅助副本. 3.把数据变化在辅 ...

  3. c/c++ 多线程 多个线程等待同一个线程的一次性事件

    多线程 多个线程等待一个线程的一次性事件 背景:从多个线程访问同一个std::future,也就是多个线程都在等待同一个线程的结果,这时怎么处理. 办法:由于std::future只能被调用一次get ...

  4. Golang 学习权威网站

    Golang 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Golang 是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发 ...

  5. 歌曲的BPM (Beat Per Minute)--每分钟节拍数

    因为老爸喜欢跳舞,总让我帮他整理舞曲,一会儿要慢三,一会儿要慢四,一会儿又要快四....我真的分不清啊 我想啊,慢三,慢四这些应该是歌曲的节拍吧(后来得知专业术语叫BPM),于是就在网上搜看看能不能通 ...

  6. Docker: 企业级镜像仓库Harbor部署(http)

    Harbor离线安装包下载地址:https://github.com/goharbor/harbor Docker compose(安装harbor需要用到docker compose)下载地址:ht ...

  7. jquery中数组对象下面的属性名名是动态的如何获取

    <script> let normalListData = []; function temp() { for (var i = 0; i < 10; i++) { let rowC ...

  8. tmux编译安装

    依赖libevent,ncurses libevent 2.x 官网:http://libevent.org 下载:https://github.com/libevent/libevent/relea ...

  9. c++stack类的用法

    官方解释: LIFO stack Stacks are a type of container adaptor, specifically designed to operate in a LIFO ...

  10. Shiro学习(一)——Shiro简介

    Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...