Solo 开发指南

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

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

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

    1434 引用 • 10054 回帖 • 490 关注
  • 开发指南
    8 引用 • 759 回帖
  • Java

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

    3187 引用 • 8213 回帖
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

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

    1 回复
  • BrickCat 1

    算 2L 吗

  • jackfruitran

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

    1 回复
  • 88250

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

  • qianhj

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

    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

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

  • baeqiuzhu

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

    1 回复
  • 88250

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

  • Jett

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

    1 回复
  • 88250

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

    1 回复
  • Jett

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

    1 回复
  • 88250

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

    1 回复
  • Jett

    我刚刚是这么做的 但是它报了一个错误 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

    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

    刚刚重新拷了一次源码,只是下载了依赖,什么都没有改动。
    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_

    _jvstadb_21._d0add(OptionRepositoryImpl_
    _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

    请教一下,使用 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

    哦哦,谢谢,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 中单独指定。

请输入回帖内容 ...

推荐标签 标签

  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 384 关注
  • 深度学习

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

    53 引用 • 40 回帖
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖 • 1 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    47 引用 • 25 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 629 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 510 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 71 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 4 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 211 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 762 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    340 引用 • 708 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 680 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 474 关注
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1348 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 5 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖