搭建 Solo 开发环境

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

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

Java 环境

数据库

获取源码

git clone https://github.com/88250/solo.git

如果克隆太慢的话可以用我们在码云的镜像仓库:

git clone https://gitee.com/dl88250/solo.git

IDE

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

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

启动运行和打包

在 IDE 中直接运行 org.b3log.solo.Server 类就可以启动。通过 mvn clean package 会进行打包,生成 target/solo 目录,在该目录下可通过如下方式运行:

  • Solo

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

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

    1286 引用 • 9605 回帖 • 588 关注
  • 设计
    105 引用 • 778 回帖 • 1 关注
  • 文档
    55 引用 • 1253 回帖 • 1 关注
4 操作
88250 在 2020-07-04 17:32:37 更新了该帖
88250 在 2019-12-16 21:16:18 更新了该帖
88250 在 2019-11-30 08:56:11 更新了该帖
88250 在 2019-11-11 02:23:11 更新了该帖

赞助商 我要投放

优质回帖

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 1141306760

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

    1 回复
  • cxylive

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

    1 回复
  • 88250
    订阅者 作者

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

    2 回复
  • cxylive

    看不懂,第一次部署

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

    1 回复
  • qingsi

    用http去获取

  • chenruhai

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

    2 回复
  • 88250
    订阅者 作者

    H2 Database 就是内嵌的。

    1 回复
  • Blackman99 1
    捐赠者

    请阅读《提问的智慧》
    https://hacpai.com/article/1544408700521

  • chenruhai

    🆗

  • keifer12138

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

    1 回复
  • 88250
    订阅者 作者

    可以用 Tomcat 的。

  • Micronotes
    INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/tomcat/webapps/solo.war]
    INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    

    Eclipse打包,打成war包后放入Tomcat运行,然后报错停止,报错信息如上。求解,是哪里的问题。
    注:Tomcat8.5,JDK1.8,Linux环境,运行报错。同样配置Windows下OK。

    1 回复
  • 88250
    订阅者 作者

    INFO 不是报错。

    1 回复
  • Micronotes

    这种情况是卡住了吧,终归是没运行起来。这种情况遇到过吗,如何解决。或者根据log信息,哪里是关键问题所在呢。

    1 回复
  • 88250
    订阅者 作者

    我这边一直用的内嵌 Server 启动,其他方式麻烦自己探索一下。对了,最近 Solo 会有大的改版,将不再支持 Servlet 容器,底层 Latke 基于 Netty 实现网络层。

    1 回复
  • Micronotes

    好的,我试试别的方式,感谢解答

  • jetablezhu

    submodel 不错不错,还能这么玩

  • white2022

    配置端口好像没用,默认还是开启的8080端口,反而请求静态文件的端口变为配置的8025,从而加载不到静态文件,期待修复

    1 回复
  • 88250
    订阅者 作者

    加参数 --listen_port

    1 回复
  • white2022

    强,已解决,感谢答疑

  • brady

    请问下 idea 启动后,无法访问 http://localhost:8080

    1 回复
  • 88250
    订阅者 作者

    你是如何启动的呢?

    1 回复
  • brady

    idea 直接启动 Server 类

    1 回复
  • 88250
    订阅者 作者

    没有改过配置文件或者其他什么地方吗?

    1 回复
  • brady

    是的,只是改了数据库密码

    1 回复
  • 88250
    订阅者 作者

    代码是从 GitHub 上拉取的么?看下进程监听端口是否正常 netstat -ano -p tcp | find "8080"

    1 回复
  • brady

    1 回复
  • 88250
    订阅者 作者

    看上去进程监听端口没问题。你看下是不是你网络配置不对,比如是不是开了代理?

    1 回复
  • brady

    没有开代理。我自己再琢磨吧,感谢。

  • licy

    这个依赖下载不了怎么办啊

    Could not transfer artifact com.vladsch.flexmark:flexmark-ext-youtube-embedded:pom:0.50.40 from/to aliyun (http://maven.aliyun.com/nexus/content/groups/public): Failed to transfer file http://maven.aliyun.com/nexus/content/groups/public/com/vladsch/flexmark/flexmark-ext-youtube-embedded/0.50.40/flexmark-ext-youtube-embedded-0.50.40.pom with status code 502 
    
    1 回复
  • 88250
    订阅者 作者

    看上去可能是阿里云 Maven 仓库临时有点网络问题,直接使用中央仓库试试。

    2 回复
  • licy

    谢谢

  • SherlockOuO

    image.png为啥我本地启动不了呢?

    1 回复
  • 88250
    订阅者 作者

    如何启动的?

    1 回复
  • SherlockOuO

    就直接 server 启动的。哦开了代理会有影响嘛?

    1 回复
  • 88250
    订阅者 作者

    应该没有影响,这个报错看上去是加载皮肤路径有问题,你 debug 看看吧。

    1 回复
  • SherlockOuO

    但是仍旧打不开image.png

  • jpfss

    image.png

    启动成功,样式乱了,win10 环境,JDK8

    image.png

    1 回复
  • 88250
    订阅者 作者

    启动参数麻烦贴一下。

  • Tomiaocat

    我的docker种没有安装jdk镜像,服务器种也没有安装java环境,为何我使用大佬提供的启动脚本一下就启动了? 他不应该会无法启动嘛

  • Tomiaocat

    image.png

    明白了,你的image中有了

  • tinygrey

    localhost:8080 进入了首页

    image.png

    然后点击登陆黑客派社区,报错

    image.png

    image.png

    1 回复
  • 88250
    订阅者 作者

    请使用最新代码。

    3 回复
  • tinygrey

    这个是什么错误,要怎么修改呢?

    image.png

  • tinygrey

    现在能进后台跟博客了 就是报错 这个

    image.png

  • tinygrey

    image.png

    1 回复
  • 88250
    订阅者 作者

    这个应该是 JDK 版本不匹配,你用的 JDK 是哪个版本?

    1 回复
  • tinygrey

    jdk1.8

    1 回复
  • 88250
    订阅者 作者

    估计得升级到 11

请输入回帖内容 ...