请关注最新文档 ——《Solo 从设计到实现》

环境准备

  • JDK:8 或更高的版本
  • Maven:2 或更高的版本
  • MySQL:可选的,默认使用内嵌的 H2 数据库

获取源代码

Solo 使用了 Git 子模块来组织项目,所以在克隆时需要带上递归子模块参数 --recurse-submodules

git clone --recurse-submodules git@github.com:b3log/solo.git

如果你是手动下载的源码包,那还需要到皮肤仓库上下载皮肤,然后放置到 src/main/webapp/skins 目录下:

├─src
│  ├─main
│  │  └─webapp
│  │      ├─skins
│  │      │  ├─9IPHP
│  │      │  ├─Andrea
│  │      │  ├─Bruce
│  │      │  ├─....

IDE

因为 Solo 是通过 Maven 构建的项目,所以只要支持 Maven 的 IDE 都可以,推荐:

  • IntelliJ IDEA
  • NetBeans

使用 IDE 打开项目即可,第一次构建时会自动下载依赖。pom 里默认激活的 profile 使用了阿里云的 Maven 仓库,理论上依赖下载会比较快。

运行

直接运行 org.b3log.solo 包下的 Starter 即可;也可以通过 mvn jetty:run 运行。

项目结构

中规中矩的 MVC 分层:

  • processor:控制器层,处理 HTTP 请求
  • service:服务层,实现业务逻辑,事务封装
  • repository:持久化层,实现数据库存取
  • model:数据模型,定义 JSON 键常量方便公用

其他几个包:

  • api:实现 B3 构思;实现 MetaWeblog API
  • event:一些事件处理器,可对发布文章 / 评论进行扩展
  • filter:初始化检查、权限过滤等
  • plugin:内置插件的实现
  • util:Markdown、Emoi、皮肤等处理工具

数据库

初始化后会自动建表。如果用 MySQL,则启动前先手动建库,JDBC 相关参数请配置 local.properties。

开发框架

Solo 使用了 [Latke] 作为开发框架,这是一个类似 Spring 但以 JSON 为主的框架。

原理相关

模版引擎

使用 FreeMarker 作为模版引擎,请参考其官方文档。

皮肤开发

请参考 Solo 皮肤开发指南

  • Solo

    Solo 是一款小而美的 Java 博客系统,通过一个命令就可以启动使用。

    359 引用 • 3065 回帖 • 701 关注
  • 开发指南
    2 引用 • 52 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2326 引用 • 6744 回帖 • 1180 关注
感谢    关注    收藏    赞同    反对    举报    分享