Java开源内容管理系统,简单、灵活可免费商用
优采云 发布时间: 2022-07-31 08:19Java开源内容管理系统,简单、灵活可免费商用
Java项目精选,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
Java开源内容管理系统(java cms)。使用SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus等技术开发。
UJCMS是在Jspxcms多年的开发经验上,重新设计开发的Java CMS系统。针对原系统中的一些痛点问题,进行解决、优化和改进,并使用GPL-2开源协议发布,可免费商用。
技术上尽量选择主流、先进、简单的架构,方便用户进行二次开发。持久化层用MyBatis替换了Hibernate;视图层用前后端分离的Vue3替换了JSP;数据库也进行了重新设计。设计上强调“简单”、“灵活”,避免繁杂的设计和实现,降低系统维护成本和二次开发难度。功能使用上也要求“简单”,避免复杂的使用逻辑。
二、开源协议
使用GPL-2.0开源协议
三、界面展示
四、功能概述技术及功能亮点
自定义字段可查询:所有的自定义字段都可查询增强了系统的灵活性。
自定义字段可视化设计:自定义字段使用拖拽式的可视化设计,所见即所得。
URL地址SEO优化:栏目和文章的动态地址可以通过系统的全局设置功能进行修改。默认的栏目和文章URL地址前缀为/channel和/article,可以根据自己的需要修改,如改为/categories和/archives。多站点的情况下,子站点URL地址也由原来的的形式改为更友好的的形式。
清理垃圾附件:系统使用时,可能会多传、误传图片等附件;在删除文章后,文章中的图片还保留在系统中,产生大量的未使用的垃圾图片和附件。系统中的附件管理可以查看所有未使用的图片和附件,并可对其进行删除。
附件、模板、索引文件独立部署:系统运行时产生的文件可以和程序分开,部署到独立的目录,方便系统备份、升级和管理。比如上传的图片和附件、前台的模板、索引文件,都可以部署到程序以外的目录。
模板文件和CSS、JS在同一目录:模板文件和CSS、JS分开的目录结构,会给模板制作和部署带来很大的不便性。而将模板文件和CSS、JS放在一起的设计,会方便很多。
MyBatis参数化查询:后台数据通常会需要通过不同字段进行搜索,对每个表都写大量的查询,无疑是一项繁重的工作。MyBatis参数化查询功能通过前台传递查询参数,即可实现任意字段及关联表的查询功能(如:Q_title=abc,Q_user-username=test),无需后台编写代码,大幅减少后端的开发工作量。
主副表拆分:对查询量大的复杂表进行主副表拆分,把常用的查询字段放到主表,不常用的字段放到副表,提升大数据量下的性能表现。
五、技术选型环境要求创建数据库MySQL表名大小写问题
如果在Windows环境使用MySQL,且以后需要迁移到Linux环境的MySQL,建议将Windows环境的MySQL配置为表名大小写敏感模式。
因为Linux环境下MySQL的表名是大小写敏感的;而在Windows环境下MySQL表名大小写不敏感,且会自动把大写的表名改为小写的表名。从Windows向Linux迁移数据时,本为大写表名的成为了小写表名,导致程序出错。需要手动把小写表名改回大写表名,费时费力且容易出错。
UJCMS系统的表名都为小写,不管在Window还是Linux下都没有问题,但第三方的类库(如Liquibase、Flowable、Quartz等)创建的表则为大写表名。所以Windows环境下也把MySQL设置成表名大小写敏感,有利以后迁移数据。
可修改MySQL配置文件my.ini:
[mysqld]# Windows下表名也区分大小写,与Linux一致。lower_case_table_names=2
启动程序常见错误
如出现
flowable-eventregistry-db-changelog.xml::1::flowable: Specified key was too long; max key length is 767 bytes等错误信息,则 MySQL 5.7 需要设置innodb_large_prefix=ON;MySQL 5.6 需要设置innodb_large_prefix=1。从 mysql 5.7.7 开始,innodb_large_prefix的默认值就是ON,因此只要MySQL版本大于5.7.7即可避免这个问题。
部署jar部署
程序默认打包为WAR格式。如需要使用springboot的jar方式启动,可按以下步骤修改:
<br /> org.springframework.boot<br /> spring-boot-starter-tomcat<br /> provided
完整目录结构:
关于商业版提示
程序默认包含商业版功能的链接,但点击后会提示商业版功能。如希望关闭商业版功能,可以修改
/src/main/resources/application.yaml文件中的ujcms.ep-display配置项改为false。
# 是否显示商业版功能。默认:trueujcms.ep-display: false
关于部署路径前台模板
网站前台模板位于
/src/main/webapp/templates目录,使用Freemarker技术。通过修改模板文件,可以完全控制网站页面显示的内容。
后端技术前端技术目录结构
源码获取
扫码添加编程哥微信,发送暗号:Java系统就能获取。还能拉入Java项目精选读者交流群 。
不是机器人
耐心等待 不要着急