Solo 开发指南

本贴最后更新于 1764 天前,其中的信息可能已经天翻地覆
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1436 引用 • 10059 回帖 • 491 关注
  • 开发指南
    8 引用 • 769 回帖
  • Java

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

    3192 引用 • 8214 回帖 • 1 关注
2 操作
88250 在 2020-04-05 14:31:34 更新了该帖
88250 在 2019-11-11 02:19:14 更新了该帖

相关帖子

优质回帖
  • yanxingangsun 2
    1. 建议[Solo 开发指南]上的中文说明改为用码云下载(中文说明主要面向国内用户,国内用户码云下载更快),如下:
    git clone --recurse-submodules https://gitee.com/b3logos/solo.git

    英文说明(如果有的话)通过 github 下载:

    git clone --recurse-submodules https://github.com/b3log/solo.git
    1. 另外“skins(皮肤)”在码云上没有项目分支,所以也是到 github 上下载的,速度也慢,希望能改进一下,在码云上也能下载,谢谢。
    [root@VM_0_11_centos ~]# git clone --recurse-submodules https://gitee.com/b3logos/solo.git Cloning into 'solo'... remote: Enumerating objects: 44272, done. remote: Counting objects: 100% (44272/44272), done. remote: Compressing objects: 100% (13923/13923), done. remote: Total 44272 (delta 24766), reused 44214 (delta 24708) Receiving objects: 100% (44272/44272), 88.66 MiB | 2.85 MiB/s, done. Resolving deltas: 100% (24766/24766), done. Submodule 'src/main/webapp/skins' (https://github.com/b3log/solo-skins) registered for path 'src/main/webapp/skins' Cloning into 'src/main/webapp/skins'... remote: Enumerating objects: 1193, done. remote: Counting objects: 100% (1193/1193), done. remote: Compressing objects: 100% (732/732), done. remote: Total 11743 (delta 845), reused 767 (delta 460), pack-reused 10550 Receiving objects: 100% (11743/11743), 23.59 MiB | 256.00 KiB/s, done. Resolving deltas: 100% (8803/8803), done. Submodule path 'src/main/webapp/skins': checked out 'ca0de62bddd9e3bb8732e46b4239001d7f238303' [root@VM_0_11_centos ~]#

    以上是本人下载时的命令打印信息。

  • 88250 1

    默认的数据库配置是使用 MySQL,需要先手动建库。

76 回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • zjhch123 1 via macOS

    抢个沙发?准备尝试开发一下插件来着的

    1 回复
  • BrickCat 1

    算 2L 吗

  • jackfruitran

    mysql 需要自己建库的表结构,model 太多怕建的不对

    1 回复
  • 88250

    不需要自己建表的,初始化的时候会自动建。

  • qianhj via macOS

    是的啊,我项目什么都正常运行,并且能发布相关文章,但是我的数据库里面一张表,一条数据都没有,所有很奇怪,还麻烦大神指教下

    1 回复
  • 88250

    可能还是用的 H2 吧,并没有切换成 MySQL。

  • leozzy

    刚加入,开始学习,希望能做出贡献

  • raven3005

    我下载了[v2.7.0]的版本,首页上的注册链接的是 RSS 订阅,如果修改这个注册的链接,请问在哪个文件里修改
    TIM20180410104744png

    1 回复
  • 88250

    麻烦截个图,我不知道你说的是哪里。

  • aaaa1234

    😂

  • xiaokuige8541410

    为什么用 Eclipse 不能启动

    1 回复
  • 88250

    请使用 Maven

  • xiaokuige8541410

    部署成功了,请问一下这是一个多用户博客系统吗

  • xiaokuige8541410

    这个系统拥有超级管理员吗

    1 回复
  • 88250

    这是个团队博客系统,所有人共用同一个后台和前台皮肤;如果你要支持多用户的博客平台,可以使用 [Pipe]

  • baeqiuzhu via macOS

    请教一下,如何变更 markdown 默认编辑器为 kindeditor

  • baeqiuzhu via macOS

    请教一下,如何变更 markdown 默认编辑器为 kindeditor

    1 回复
  • 88250

    现在的版本只支持 Markdown 编辑器了。

  • Jett via macOS

    请教一下,我想在 article 表中加一个字段怎么做呢 我直接打开 h2 的数据库没有找到表 而且出现了莫名奇妙的问题

    1 回复
  • 88250

    在 repository.json 中改一下,然后手动加表字段。

    1 回复
  • Jett via macOS

    所以需要去 h2 数据库中修改表的字段 我看系统可以有创建表的 不能更新表结构的吗

    1 回复
  • 88250

    你如果不要历史数据的话直接把 h2 的数据库文件删了就行,初始化时会根据 repository.json 建表。

    1 回复
  • Jett via macOS

    我刚刚是这么做的 但是它报了一个错误 org.b3log.latke.repository.RepositoryException: A json object to persist to repository[name=b3_solo_article] does not contain a key[matchImageUrl] 是否有缓存因素的影响呢

    1 回复
  • 88250

    加了字段的话只要有 add/update 都会校验是否包含了完整字段,你看下抛出异常的地方是不是没有带你新加的字段。

  • geeekMz

    h2 是内存数据库么 我先服务器崩了之后 h2 的数据库中的内容还能找回来不

    1 回复
  • 88250

    数据库文件默认在 ~/solo_h2/db

  • luckygrass via Ubuntu

    org.b3log.latke.service.ServiceException: Initailize Solo error: A json object to persist to repository[name=vseu__option] does not contain a key[optionValue]
    mysql 数据库初始化报了这个错误,这是什么问题?

    1 回复
  • 88250

    请详细说明你改过什么配置,不然我重现不了,定位不到问题,谢谢。

    1 回复
  • luckygrass via Ubuntu

    刚刚重新拷了一次源码,只是下载了依赖,什么都没有改动。
    Initailize Solo error: A json object to persist to repository[name=b3_solo_option] does not contain a key[optionValue]
    环境 ubuntu+jdk8+idea+maven3.5(还没用到 mysql) 谢谢大佬
    [INFO ]-[2018-09-02 01:17:46]-[org.b3log.solo.service.InitService:204]: YOUR DATA will be stored in directory [jdbc:h2:/home/lucky/solo_h2/db], please pay more attention to it~
    [ERROR]-[2018-09-02 01:17:46]-[org.b3log.latke.Latkes:863]: Read skin configuration error[msg=null]
    [WARN ]-[2018-09-02 01:17:46]-[org.b3log.solo.service.InitService:240]: Retrying to init Solo[retries=2]
    [ERROR]-[2018-09-02 01:17:47]-[org.b3log.latke.Latkes:863]: Read skin configuration error[msg=null]
    [WARN ]-[2018-09-02 01:17:47]-[org.b3log.solo.service.InitService:240]: Retrying to init Solo[retries=1]
    [ERROR]-[2018-09-02 01:17:47]-[org.b3log.latke.Latkes:863]: Read skin configuration error[msg=null]
    [WARN ]-[2018-09-02 01:17:47]-[org.b3log.solo.service.InitService:240]: Retrying to init Solo[retries=0]
    [ERROR]-[2018-09-02 01:17:47]-[org.b3log.latke.Latkes:863]: Read skin configuration error[msg=null]
    [ERROR]-[2018-09-02 01:17:47]-[org.b3log.solo.service.InitService:234]: Initialize Solo error
    org.b3log.latke.repository.RepositoryException: A json object to persist to repository[name=b3_solo_option] does not contain a key[optionValue]
    at org.b3log.latke.repository.Repositories.check(Repositories.java:193)
    at org.b3log.latke.repository.AbstractRepository.add(AbstractRepository.java:107)
    at org.b3log.solo.repository.impl.OptionRepositoryImpl_

    KaTeX parse error: Expected group after '_' at position 40: …nRepositoryImpl_̲
    _jvstadb_21.java)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.b3log.latke.ioc.bean.JavassistMethodHandler.invoke(JavassistMethodHandler.java:106)

    1 回复
  • 88250

    要注意克隆皮肤子模块,或者手动下载。

  • luckygrass via Ubuntu

    请教一下,使用 injigen 主题的时候,点击首页的动态会报一个错误。我没有找到解决办法。、
    [ERROR]-[2018-09-03 10:49:11]-[org.b3log.latke.servlet.renderer.freemarker.AbstractFreeMarkerRenderer:138]: FreeMarker renders error
    FreeMarker template error:
    An error has occurred when reading existing sub-variable "isReply"; see cause exception! The type of the containing value was: extended_hash+string (org.json.JSONObject wrapped into f.e.b.StringModel)


    FTL stack trace ("~" means nesting-related):
    - Failed at: #if comment.isReply != "" && comment... [in template "common-comment.ftl" at line 28, column 13]
    - Reached through: #include "common-comment.ftl" [in template "dynamic.ftl" at line 44, column 17]

    1 回复
  • 88250

    你更新下代码应该就可以用了。这个皮肤暂时还没有发布,将在 v2.9.4 中正式发布。

    1 回复
  • luckygrass via Ubuntu

    哦哦,谢谢,v2.9.4 什么时候发布

    1 回复
  • 88250

    大概计划是 10 月 10 号发布。

  • 没有拉取 skins 子模块会导致初始化报错。
    建议修改文档:
    git clone --recursive
    来 clone solo。
    或者在 skins 目录执行:git submodule init && git submodule update

    1 回复
  • 88250

    文档里有的嘛。

  • chromer

    请问从 github 克隆到本地的 solo 怎么使用?

    1 回复
  • 88250

    上面都写了啊,请看下文档。

  • BoyAdmin

    请问作者,为什么本地机打开的博客样式没有问题,但是在客户机上打开的样式却是一堆的报错,这样怎么解决?

    1 回复
  • 88250

    看下 F12 网络请求。

    2 回复
  • BoyAdmin

    好的,我试试

  • BoyAdmin

    在客户机上面请求的地址是 http://localhost:8080 这个地址是不是只要修改一下数据库 user 表里面的地址就可以了?

    1 回复
  • 88250 1

    不是,你看一下文档吧,这些问题文档上都有写。

    1 回复
  • BoyAdmin

    能把文档地址给我一下吗?我仔细看看,再请教您

    1 回复
  • 88250

    你看下项目 README,另外,问题一般可以通过在黑客派或者 GitHub issues 上搜索得到解决。

    1 回复
  • BoyAdmin

    好的,已经根据您的提示,找到解决办法了,我现在试着改一下

  • cccc

    您好,我在本地测试的时候第一次直接放在 tomcat 中是没法启动的,我启动了 Starter 里的 main 方法初始化之后才可以正常用 tomcat 打开.但是我把项目打包成 war 之后,部署在 centos 的云服务器的 tomcat 上之后,公网 ip+ 端口号/项目名却打不开,是因为没法初始化的缘故么? 还是需要什么别的操作才可以部署的?

    lograr
    29 分的是报错信息,31 分的是我把项目拿到之后单纯启动 tomcat 测试了一下

    我还在初学阶段,麻烦您了

    1 回复
  • 88250
    org.xml.sax.SAXParseException; systemId: file:/usr/local/apache-tomcat-9.0.14/webapps/solo/META-INF/context.xml; lineNumber: 3; columnNumber: 1; Premature end of file.

    这个文件有点问题,你看下是不是有损坏之类的。

    1 回复
  • cccc

    哇,谢谢,成功了
    还要一个问题,换皮肤好像移动端不生效,还是最初的那种皮肤这是什么原因?

    过了一段时间又好了...没事了

    1 回复
  • 88250

    移动端皮肤可以在 solo.props 中单独指定。

请输入回帖内容 ...

推荐标签 标签

  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    30 引用 • 96 回帖 • 2 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 181 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 391 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    54 引用 • 40 回帖
  • 反馈

    Communication channel for makers and users.

    124 引用 • 916 回帖 • 260 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖 • 3 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 480 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    6 引用 • 63 回帖
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 77 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 634 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 618 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    729 引用 • 1275 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 32 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 728 关注
  • 倾城之链
    23 引用 • 66 回帖 • 150 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    289 引用 • 4492 回帖 • 660 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    66 引用 • 114 回帖 • 212 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 399 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    169 引用 • 1525 回帖 • 1 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    314 引用 • 547 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1436 引用 • 10059 回帖 • 491 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 257 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 621 关注