sitesCMS 环境搭建及IDEA仿真调试

前言

开源中国上的链接:https://www.oschina.net/p/sitescms

sitesCMS 是基于 JFinal 的 多站点 CMS 内容管理系统,JFinal4.9全家桶(JFinal+Enjoy+ActiveRecord+JFinal-Undertow),除JFinal外无其他重度依赖。精简的多站点功能设计,极易二次开发,可以用来阅读,提高对 jfinal的理解。

打开工程

把源码下载后,就可以用IDEA打开,打开工程的时候会有提示,是使用eclipse方式还是maven方式?我选择了 maven方法打开。

发现有一个红色错误提示,如下,

这是缺少一个库,添加进来即可。

但是又出现了一个问题:无法保存设置,提示如下:

解决方法:出现这个问题的原因是,多模块Maven项目。删掉就可以了,如下图,把方框中的那个大胆删掉。

到这一步,终于没有错误了,可以编译通过啦。

运行

点击main函数旁的绿三角,如下:

这时,又弹出一个错误:

解决方法:

打开配置,

选择好jre版本即可(如下图所示),这个错误就不会再弹出来啦。

问题2:端口不可用错误。

再次运行,还是出现了新问题。

解决方法:

把端口号改一下,如下:

随之,又有新的问题出现了。

问题3:mysql很多的错误。

sql错误之一:Plugin start error

原因分析:

这里出现了一系列的SQL错误,可能是因为还没有创建数据库的原因吧,待验证。

 

打开 cmsConfig.txt,这个是就是SQL的配置文件了,可以看到数据库名,用户名,密码等信息。

按照这些信息创建一个数据库吧。

4.数据库问题:init datasource error

解决方法:创建好数据库,并设置好用户名密码等参数,解决方法的具体细节请参考上文。

有点需要注意的是,MYSQL的版本要注意,官方写着的是 MySQL 5.0.96,所以还是装这个版本吧。

5.错误:Failed to decrypt.

解决方法:也就是要把密码加密一下才行。

整个工程里搜索关键字“publicKey“,定位到生成加密字符串工具的工程:

然后填入密码,即可生成对应字符串。再填入到 cmsConfig.txt 文件里即可,如下:

再重新运行,这个问题就不会出现啦。

6.问题:Unable to load authentication plugin 'caching_sha2_password'.

解决方法:

参考: https://blog.csdn.net/w605283073/article/details/88096598

主要原因8.x版本的验证模块和之前版本不同:

5.x版本是:default_authentication_plugin=mysql_native_password

8.x版本就是:default_authentication_plugin=caching_sha2_password

哎,还是切换回 mysql5.x 的版本吧。

果然,切回到 mysql 5.0 之后,该问题就不再出现了。

问题7. Table 'sitescms.accesslog' doesn't exist

解决方法:

缺了表格,把这个表格加上去就行。要加入以下表格:

问题8.Failed to load class "org.slf4j.impl.StaticLoggerBinder".

解决方法:

原来这是因为sl4j和log4j的不兼容导致的。这个问题只影响日志,可以先不管。

问题9. Unknown column 't.status' in 'where clause'

解决方法:

列名不存在。填入就行,如下 :

问题10:Public Key Retrieval is not allowed

解决方法:

在最前面加入参数 allowPublicKeyRetrieval=true&useSSL=false

 

 

到这里,终于可以正常运行起来了,显示的信息如下:

 

访问后台前台

前台地址: http://localhost

后台地址: http://localhost/cms 管理用户名为wumoxi,默认密码111111

终于可以到后台管理界面了,

但是,前台却显示失败:

但是,当我填入账号和密码时,又出现了新问题:“服务响应异常,请联系管理员处理!”

解决方法:

那是因为我没有导入初始化数据

系统的初始化数据库sql文件是
sitesCMS/src/main/resources/sql/sitescms-all.sql,包含数据表结构和测试数据,直接运行导入即可。

前面运行的时候,提示缺一些表格,我就根据提示添加进去了,其实那个步骤是错误的,应该通过导入sql文件的方法来解决。

1.idea先连上数据库。

再选中数据库

2.

3.

一开始是行的,不过,后面重启电脑后,突然的就好了。数据库里也能看到数据了,如下:

打包成release文件

1.打开maven栏

2.点击 clean comile package,即可生成 release部署文件。

生成的文件如下:

点击批处理,即可运行,运行成功显示如下:

 

在ubuntu服务器上部署

1.先装好绿免安装的mysql5.0. 再把在window上调好的数据库文件复制过去。

2.装好java1.8。

装java1.8的方法如下:

输入java,就会提示:

按提示输入 sudo apt install openjdk-8-jre-headless 即可。

3.把release文件复制上去,直接运行即可。

为了方便调试,可先把jfinal.sh里改成:

输入运行命令:

./jfinal.sh start

遇到问题:port: 80 not available

解决方法:

 

 

 

 

 

 

 

 

 

posted on 2021-01-08 10:03  lizhuohui  阅读(188)  评论(0编辑  收藏  举报

导航