本文是《Solo 从设计到实现》的一个章节,该系列文章将介绍 Solo 这款 Java 博客系统是如何从无到有的,希望大家能通过它对 Solo 从设计到实现有个直观地了解、能为想参与贡献的人介绍清楚项目,也希望能为给重复发明重新定义博客系统的人做个参考 ️ Java 环境 Java:至少需要 JDK8,如果你没有安装过 ..

搭建 Solo 开发环境

本贴最后更新于 318 天前,其中的信息可能已经时过境迁

本文是《Solo 从设计到实现》的一个章节,该系列文章将介绍 Solo 这款 Java 博客系统是如何从无到有的,希望大家能通过它对 Solo 从设计到实现有个直观地了解、能为想参与贡献的人介绍清楚项目,也希望能为给重复发明重新定义博客系统的人做个参考 ❤️

Java 环境

数据库

获取源码

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

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

使用 Git 子模块主要是因为我们将皮肤放在了仓库 solo-skins 上进行维护,使皮肤可以独立于主程序进行维护。如果你是手动下载的源码包,那就需要皮肤仓库 solo-skins 上下载皮肤,然后放置到 src/main/webapp/skins 目录下:

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

IDE

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

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

项目结构

中规中矩的 MVC 分层:

其他几个包:

详细的包说明可参考实现规范和约定,其余目录结构可参考 Maven 标准目录结构

启动运行

在 IDE 中可以直接运行 org.b3log.solo.Starter 类或者使用 pom.xml 里面配置好的 jetty-maven-plugin 执行 mvn jetty:run


回到全文目录:《Solo 从设计到实现》

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。

    Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
    具体细节请浏览 B3log 构思

    832 引用 • 6282 回帖 • 680 关注
  • 设计
    89 引用 • 603 回帖 • 1 关注
  • 文档
    51 引用 • 1039 回帖 • 1 关注
12 回帖
请输入回帖内容...
  • 1141306760

    怎么获取源码啊 有权限问题啊

    1 回复
  • cxylive

    怎么将 Solo 部署到阿里云?😭

    1 回复
  • 88250

    社区搜索一下吧,很多教程。

    1 回复
  • cxylive

    看不懂,第一次部署

    imagepng
    我部署到阿里云上 latke.properties 文件可以这样配吗?

    1 回复
  • 88250

    文档上有写的就不要问了,谢谢。

    Solo 用户指南

    1 回复
  • qingsi

    用 http 去获取

  • chenruhai

    文档上没有写有使用自带内嵌数据库安装的 demo

    2 回复
  • 88250

    H2 Database 就是内嵌的。

    1 回复
  • Blackman99 1

    请阅读《提问的智慧》
    开源社区之提问的智慧

  • chenruhai

    🆗

  • keifer12138

    有个疑惑:现在项目的 Web 容器是用的 Jetty 吧?为啥还建议用 Tomcat 呢? 意思是可以选择一开始就用 Tomcat 是吧,因为想着现在更改成 Tomcat 不行吧?感谢解答!~~~~

    1 回复
  • 88250

    可以用 Tomcat 的。

请输入回帖内容 ...