# MCMS
**Repository Path**: xmx111/MCMS
## Basic Information
- **Project Name**: MCMS
- **Description**: 🌈🌈🌈祝开发者2025新年快乐!免费可商用的开源Java CMS内容管理系统/基于SpringBoot 2/前端Vue3/element plus/提供上百套模板,同时提供实用的插件/每两个月收集issues问题并更新版本/一套简单好用开源免费的Java CMS内容管理系/一整套优质的开源生态内容体系。我们的使命就是降低开发成本提高开发效率,提供全方位的企业级开发解决方案。
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://www.mingsoft.net
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 7399
- **Created**: 2025-02-14
- **Last Updated**: 2025-02-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 特点
* 免费完整开源:基于MIT协议,源代码完全开源,无商业限制,MS开发团队承诺将MCMS内容系统永久完整开源;
* 标签化建站:不需要专业的后台开发技能,只要使用系统提供的标签,就能轻松建设网站;
* html静态化:系统支持全站静态化;
* 跨终端:站点同时支持PC与移动端访问,同时会自动根据访问的终端切换到对应的界面,数据由系统统一管理;
* 海量模版:铭飞通过MStore(MS商城)分享更多免费、精美的企业网站模版,降低建站成本;
* 丰富插件:为了让MCms适应更多的业务场景,在MStore用户可以下载对应的插件,如:站群插件、微信插件、商城插件等;
* 每月更新:铭飞团队承诺每月28日为系统升级日,分享更多好用等模版与插件;
* 文档丰富:为了让用户更快速的使用MCms系统进行开发,铭飞团队持续更新开发相关文档,如标签文档、使用文档、视频教程等;
# 开发环境
建议开发者使用以下环境,这样避免版本带来的问题
* Windows、Linux
* Eclipse、Idea
* Mysql≧5.7 (开启忽略大小写)
* JDK≧8
* Tomcat≧8
# 快速体验(导入到 Eclipse 或 IDEA)
1、检出源代码:
git clone https://gitee.com/mingSoft/MCMS.git
2、导入项目
* Eclipse导入,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择检出的项目MCMS文件夹,然后点击 Finish 按钮,即可成功导入
* IDEA导入,点击 Import Project,选择 pom.xml 文件,点击 Next 按钮,选择 Import Maven projects automatically 复选框,然后一直点击 Next 按钮,直到点击 Finish 按钮,即可成功导入
4、Eclipse(IDEA)会自动加载 Maven 依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开 Problems 窗口,查看具体错误内容,直到无错误为止
5、创建数据库mcms(数据库使用utf-8编码),导入doc/mcms-版本号.sql,如果升级现有系统请使用*-up-*.sql升级,如果导入了系统对应的完整版SQL,sql升级补丁不需要重复导入;
6、修改src\main\resources\application-dev.yml文件中的数据库设置参数;
7、运行MSApplication.java main方法
8、首先先访问后台地址:http://localhost:8080/ms/login.do ,管理员账号,用户名:msopen 密码:msopen,进入后台点击内容管理->静态化菜单,进行"生成主页","生成栏目","生成文章"操作一遍 (注意!!!是后台登录界面,不是会员中心登录界面)
# 技术选型
## 后端框架
| 技术 | 名称 | 官网 |
| :--- |:-------------| :--- |
| Spring Framework | 容器 | [http://projects.spring.io/spring-framework](http://projects.spring.io/spring-framework/) |
| Spring Boot | MVC | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) |
| Apache Shiro | 安全 | [http://shiro.apache.org](http://shiro.apache.org/) |
| Spring session | 分布式Session管理 | [http://projects.spring.io/spring-session](http://projects.spring.io/spring-session) |
| MyBatis | DAO | [http://www.mybatis.org](http://www.mybatis.org/mybatis-3/zh/index.html) |
| MyBatis-Plus | ORM | [https://baomidou.com/](https://baomidou.com/) |
| Freemarker | 视图 | [http://freemarker.foofun.cn](http://freemarker.foofun.cn/) |
| PageHelper | MyBatis分页插件 | [http://git.oschina.net/free/Mybatis\_PageHelper](http://git.oschina.net/free/Mybatis_PageHelper) |
| Log4J | 日志组件 | [http://logging.apache.org](http://logging.apache.org) |
| Maven | 项目构建 | [http://maven.apache.org](http://maven.apache.org/) |
| Elasticsearch | 分布式搜索引擎 | [https://www.elastic.co](https://www.elastic.co/) |
| Redis | 分布式缓存数据库 | [https://redis.io](https://redis.io) |
| hutool | 工具类 | [http://hutool.mydoc.io](http://hutool.mydoc.io) |
## 前端框架
| 技术 | 名称 | 官网 |
|:-------------| :--- | :--- |
| Vue 3 | MVVM框架 | [https://cn.vuejs.org//](https://cn.vuejs.org/) |
| Element Plus | UI库 | [https://element-plus.org/](https://element-plus.org/) |
| jQuery | 函式库 | [http://jquery.com/](http://jquery.com/) |
| hover.css | 点击效果插件 | [https://github.com/fians/Waves/](https://github.com/fians/Waves) |
| validator | 验证库 | [https://github.com/chriso/validator.js](https://github.com/chriso/validator.js) |
| animate | 动画 | [http://daneden.github.io/animate.css/](http://daneden.github.io/animate.css/) |
| icon | 矢量小图标\(待更新\) | [https://www.iconfont.cn/](https://www.iconfont.cn/) |
# 文件说明
* doc 项目文档文件夹,里面有数据库文件
* src/main/java java源代码
* src/main/resources 项目的资源配置文件
* src/main/webapp
* src/main/webapp/static 静态资源文件,如:js、css、image、等第三方前端插件库
* src/main/webapp/html 生成的静态页面,实际项目需要删除,只是提供给开发者快速预览生成后的静态页面
* src/main/webapp/templet 模版文件夹
* src/main/webapp/upload 上传资源文件夹
* src/main/webapp/WEB-INF/manager 后端视图页面
* LICENSE 项目协议说明
* README.md 项目说明文档
* pom.xml 依赖配置文件
# jar部署
### 1.将所有的资源打成一个jar包
````
mvn clean package
````
pom.xml文件
````
src/main/webapp
static/
html/
upload/
template/
src/main/resources
src/main/java
**/*.java
````
### 注意
根据pom.xml文件中的resource节点中的提示,可以灵活控制需要打包的文件夹目录,如果是多模块下开发只需要将主工程目录(MSApplication.java所在目录就是主工程)下的static\html\upload\template\WEB-INF 直接上传到服务器,其他子模块的资源不需要复制,直接打包就可以
1.2. 目录结构
完成下面目录结构后,在当前文件夹进入cmd执行命令
````
java -jar ms-mcms.jar
````
config:配置文件,会优先使用config文件夹下的配置(需手动创建,手动复制src/main/resources/*下的配置文件)
WEB-INF:ftl视图文件
template:(必须)模版目录,需要复制一份
upload:(必须)上传的文件夹
html:静态化自动生成的目录(自动生成)
static:静态资源文件
ms-mcms.jar:主程序
*.sh:linux启动、停止脚本(手动复制bin/下脚本,docker不需要此脚本)
*.bat:window启动、停止脚本(手动复制bin/下脚本,docker不需要此脚本))