jforum(1)--环境搭建
JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多数据库等等特性。
JForum 采用 FreeMarker 作为页面模板引擎,支持包括中文在内的二十几种语言。
JForum 最大的优点是采用 BSD 开源协议,你可以最大限度的进行任何修改和扩展,包括商业用途。
本文主要整理在本地搭建JForum的步骤(基于wampserver的MySQL)
安装步骤
1、安装jdk:
略
2、安装tomcat:
- 官网上下载tomcat,https://tomcat.apache.org/download-70.cgi,解压
- tomcat环境配置:
系统变量里点新建:变量名:CATALINA_HOME,变量值:D:\software\Jmeter\apache-tomcat-7.0.81;
在classpath中加入%CATALINA_HOME%\lib\servlet-api.jar;
在path中加入%CATALINA_HOME%\bin;
- 运行:配置好后进入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
下载JForum的发布文件,JForum可以装载在tomcat中,需要将其发布文件下载,下载路径:http://jforum.net/download.jsp,Windows环境需要下载ZIP压缩包,我使用的是v2.1.9;
下载后将文件解压放置于tomcat的webapps目录下(D:\apache-tomcat-7.0.77\webapps);
登录Jforum的安装url:http://localhost:8080/jforum-2.1.9/install.jsp,这里端口号需要改成自己的Tomcat所在端口,我的端口默认为8080;
配置数据库参数。数据库端口、数据库用户名、密码根据自己的环境进行填写。系统管理员密码是管理论坛的,可自己设置不影响安装。

图片来源: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)--环境搭建的更多相关文章
- Jforum环境之Tomcat环境搭建
Jforum环境搭建,需先安装JDK.JRE.Tomcat.Mysql(JDK.JRE暂不做说明).本文先说Tomcat环境搭建 1.进入Apache Tomcat官网下载,我选择的是免安装的zip包 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- Easyui datagrid combobox输入框非法输入判断与事件总结
datagrid combobox输入框非法输入判断与事件总结 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 常见事件 onSelect // 选择下拉列表 ...
- swiper 自定义分页器的使用
网上关于swiper 自定义分页器的方法比较多,但是已经不适合使用.它的API又比较坑爹,什么都是点到为止,不说清楚.因为要做一个产品颜色切换的效果,有黑与白两种颜色,因此尝试使用Swiper的自定义 ...
- Hibernate从入门到了解
目录 Hibernate的介绍与执行流程 运行流程: Hibernate运行环境搭建 Hibernate的基础示例 持久类的编写 持久类的介绍 几个考虑遵守的规则: 补充: Hibernate核心文件 ...
- ORACLE当中自定义函数性优化浅析
为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...
- 从0开始的Python学习010return语句&DocStrings
return语句 return语句用来从一个函数中 返回 即跳出函数.当然也可以从函数中返回一个值. #return 语句从一个函数返回 即跳出函数.我们也可选从函数返回一个值 def maximum ...
- python3 Counter类(计数器)
Counter(计数器):用于追踪值的出现次数 Counter类继承dict类,所以它能使用dict类里面的方法 创建一个Counter类 import collections obj = colle ...
- chrome总是提示“请停用开发者模式运行的扩展程序”
方法1:通过组策略的扩展白名单.要下载一个组策略管理模板 1.开始 -> 运行 -> 输入gpedit.msc -> 回车确定打开计算机本地组策略编辑器(通过Win + R快捷键可以 ...
- 001_JavaScript数组常用方法总结及使用案例
一. https://msdn.microsoft.com/zh-cn/library/ff679976(v=vs.94).aspx 二.ip地址转换成对应的二进制. const ip='172.16 ...
- Mac下MySql初始密码设置及mysql数据库操作
1. 首先 点击系统偏好设置 -> 点击MySQL, 在弹出的页面中,关闭服务.2. 进入终端命令输出: cd /usr/local/mysql/bin/ 命令,回车.3. 回车后,输入命令:s ...
- c++stack类的用法
官方解释: LIFO stack Stacks are a type of container adaptor, specifically designed to operate in a LIFO ...