当前位置: 首页 > news >正文

solo博客源码使用idea编译运行

solo博客源码使用idea编译运行

  • solo博客开源地址
  • 本地运行
  • IDEA 编译执行
    • 默认直接编译
    • jar 包编译

solo博客开源地址

项目地址:GitHub - 88250/solo: 🎸 B3log 分布式社区的 Java 博客端节点系统,欢迎加入下一代社区网络。B3log distributed community blog-end node based on Java, welcome to join the next generation community network.

本地运行

本地运行主要用于试用或者生成静态站点,生成静态站点的用法请参考这里。(视频演示教程请看这里)

下载最新的 Solo 包解压,进入解压目录执行:

  • Windows: java -cp "lib/*;." org.b3log.solo.Server
  • Unix-like: java -cp "lib/*:." org.b3log.solo.Server

启动所有参数如下,仅做参考:

--listen_port <LISTEN_PORT>                           listen port, default is 8080
--lute_http <LUTE_HTTP>                               lute http URL, default is http://localhost:8249, see
--runtime_mode <RUNTIME_MODE>                         runtime mode (DEVELOPMENT/PRODUCTION), default is DEVELOPMENT
--server_host <SERVER_HOST>                           browser visit domain name, default is localhost
--server_port <SERVER_PORT>                           browser visit port, default is 8080
--server_scheme <SERVER_SCHEME>                       browser visit protocol, default is http
--static_path <STATIC_PATH>                           browser visit static resource path, default is empty
--static_server_host <STATIC_SERVER_HOST>             browser visit static resource domain name, default is
--static_server_port <STATIC_SERVER_PORT>             browser visit static resource port, default is 8080
--static_server_scheme <STATIC_SERVER_SCHEME>         browser visit static resource protocol, default is http
--unix_domain_socket_path <UNIX_DOMAIN_SOCKET_PATH>   unix domain socket path

IDEA 编译执行

默认使用Java环境,Java版本需要高于1.8,这里使用 jdk17版本;

默认直接编译

在这里插入图片描述

jar启动方式失败:直接启动打包生成的solo.jar

D:\work\solo\target>java -jar solo.jar
错误: 找不到或无法加载主类 org.b3log.solo.Server
原因: java.lang.NoClassDefFoundError: org/b3log/latke/http/BaseServer

推荐启动:进入solo文件夹下,启动成功;

D:\work\solo\target\solo>java -cp "lib/*;." org.b3log.solo.Server
[WARN ]-[2024-10-16 16:40:50]-[org.b3log.latke.Latkes:713]: !!!!Runtime mode is [DEVELOPMENT], please make sure configured it with [PRODUCTION] in latke.properties if deployed on production environment!!!!
[INFO ]-[2024-10-16 16:40:50]-[org.b3log.solo.Server:259]: Solo is booting [ver=4.4.0, os=Windows 11, isDocker=false, inJar=false, luteAvailable=false, pid=28336, runtimeDatabase=MYSQL, runtimeMode=DEVELOPMENT, jdbc.username=xdtian, jdbc.URL=jdbc:mysql://124.71.65.251:3309/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true]
[INFO ]-[2024-10-16 16:40:52]-[org.b3log.solo.util.Skins:73]: Loaded template from classpath
[INFO ]-[2024-10-16 16:40:53]-[org.b3log.solo.Server:306]: Solo is running

jar 包编译

请在 pom.xml 中搜索 maven-assembly-plugin 的注释进行配置即可。请注意:使用 jar 运行不支持:

  • 静态站点生成
  • 可能存在其他未知问题,测试发现看板娘等第三方组件无法使用。

==建议尽量不要打 jar 部署,服务器上请通过 Docker 部署。==但是我服务器资源有限,不想安装docker,直接以编译包的形式运行,节省资源。

pom.xml 中该<plugin>段注释内容放开,然后 maven 编译 package

<!--            <plugin>-->
<!--                <artifactId>maven-assembly-plugin</artifactId>-->
<!--                <configuration>-->
<!--                    <descriptors>-->
<!--                        <descriptor>src/assembly/bin.xml</descriptor>-->
<!--                    </descriptors>-->
<!--                </configuration>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <id>make-assembly</id>-->
<!--                        <phase>package</phase>-->
<!--                        <goals>-->
<!--                            <goal>single</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
<!--            </plugin>--><!-- 需要打 jar 部署的话注释掉上面的配置,启用下面这段配置--><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><appendAssemblyId>false</appendAssemblyId><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><mainClass>org.b3log.solo.Server</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>assembly</goal></goals></execution></executions></plugin>

打包后target目录下的 solo.jar 可直接运行。

D:\work\solo\target>java -jar solo.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
[WARN ]-[2024-10-16 16:48:27]-[org.b3log.latke.Latkes:713]: !!!!Runtime mode is [DEVELOPMENT], please make sure configured it with [PRODUCTION] in latke.properties if deployed on production environment!!!!
[INFO ]-[2024-10-16 16:48:28]-[org.b3log.solo.processor.console.StaticSiteConsole:161]: Do not support export static site when running in jar
[INFO ]-[2024-10-16 16:48:28]-[org.b3log.solo.Server:259]: Solo is booting [ver=4.4.0, os=Windows 11, isDocker=false, inJar=true, luteAvailable=false, pid=10780, runtimeDatabase=MYSQL, runtimeMode=DEVELOPMENT, jdbc.username=xdtian, jdbc.URL=jdbc:mysql://124.71.65.251:3309/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true]
[INFO ]-[2024-10-16 16:48:29]-[org.b3log.solo.service.ImportService:76]: Ignored import markdowns when running in jar
[INFO ]-[2024-10-16 16:48:30]-[org.b3log.solo.util.Skins:73]: Loaded template from classpath
[INFO ]-[2024-10-16 16:48:30]-[org.b3log.solo.Server:306]: Solo is running

相关文章:

solo博客源码使用idea编译运行

solo博客源码使用idea编译运行 solo博客开源地址本地运行IDEA 编译执行默认直接编译jar 包编译 solo博客开源地址 项目地址&#xff1a;GitHub - 88250/solo: &#x1f3b8; B3log 分布式社区的 Java 博客端节点系统&#xff0c;欢迎加入下一代社区网络。B3log distributed co…...

VBA07-方法

一、方法的定义 方法指对象所能执行的动作&#xff0c;它是一个动词。 二、方法的表达方式 三、关于工作簿的方法操作 3-1、新增一个工作簿 示例1&#xff1a; 此时&#xff0c;新增的工作簿的名字是系统默认的。 示例2&#xff1a; 【注意】&#xff1a; 当你尝试将工作簿…...

spring boot 统一异常处理

在 Spring Boot 应用中实现统一异常处理是非常重要的&#xff0c;它可以帮助我们更好地管理和响应应用程序中的错误。通过使用 ControllerAdvice 和 ExceptionHandler 注解&#xff0c;我们可以创建一个全局的异常处理器来捕获并处理不同类型的异常。 步骤 1: 创建一个异常处理…...

跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)

文章目录 一、model介绍二、Module三、张量3.1 定义3.2 用法 一、model介绍 容器 Containers 卷积层 Convolution Layers 池化层 Pooling layers 填…...

数字化落地过程中的研发效能治理如何开展?

数字化落地过程中&#xff0c;针对数字化识别到的问题和短板进行专项治理&#xff0c;是通过数字化手段持续提升研发效能非常重要的一环。组织级的数字化专项治理需要组织级团队和技术团队共同配合协同来完成。其中组织级团队负责制定整体的治理目标、流程和策略&#xff0c;根…...

Windows安装配置node.js

下载安装 下载 访问下载 | Node.js 中文网&#xff0c;下载 推荐使用长期支持版本&#xff0c;但是此次是学习用的&#xff0c;使用最新版本试一下 安装 其实一路next基本就可以了&#xff0c;注意调整下安装目录 查看版本 C:\Users\PC>node -v v22.11.0 C:\Users\PC>…...

Javaweb梳理9——JDBC

Javaweb梳理9——JDBC 1.JDBC概述1.1 JDBC概念1.2 JDBC本质1.3 JDBC好处 2.JDBC快速入门2.1 编写代码步骤2.2 具体操作 3 JDBC API详解3.1 DriverManager3.2 Connection3.2.1 获取执行对象3.2.2 事务管理 3.3 Statement3.3.1 概述3.3.2 代码实现 3.4 ResultSet3.4.1 概述3.4.2 …...

逆向CTF入门(如何找main)

Hello, world of reverse! start函数它在执行一些初始化操作,如获取命令行参数、获取环境变量值、初始化全局变量等&#xff0c;一切准备工作完成之后&#xff0c;再调用main函数 快速定位关键函数&#xff1a; 长驱直入法&#xff1a;当程序功能非常明确时&#xff0c;从程序…...

c语言归并排序

归并排序思想&#xff1a; 归并排序可以解释为是将放在数组里的一串数字进行拆分&#xff0c;拆分之后再判断大小合并的过程&#xff0c;每次都是从中间位置拆分&#xff0c;例如有七个数&#xff0c;第一次拆分就将它们分成前三个数为一个数组&#xff0c;后四个数为一个数组&…...

碳化硅陶瓷膜的特性

无机膜包括金属膜、陶瓷膜、玻璃膜等等&#xff0c;其中在水处理领域里出镜最多、应用最广的当属陶瓷膜。比起高分子有机膜&#xff0c;陶瓷膜硬度更高、通量更大、寿命更长&#xff0c;然其性能优越&#xff0c;成本也很“高昂”&#xff0c;故其生存空间自然是受到高分子有机…...

机器学习(三)——决策树(附核心思想、重要算法、概念(信息熵、基尼指数、剪枝处理)及Python源码)

目录 关于1 基本流程2 划分属性的选择2.1 方法一&#xff1a;依据信息增益选择2.2 方法二&#xff1a;依据增益率选择2.3 方法三&#xff1a;依据基尼指数选择 3 剪枝处理&#xff1a;防止过拟合3.1 预剪枝3.2 后剪枝 4 连续与缺失值4.1 连续值处理4.2 缺失值处理 5 多变量决策…...

良心无广,这五款电脑软件堪称必备,最后一个比快播都猛

来吧&#xff0c;直接上狠货&#xff01; 哔哔音乐 这是一个基于哔哩哔哩开发的电脑听歌软件&#xff0c;众所周知&#xff01;B站其实就是一个巨大的曲库&#xff0c;啥歌各种版本都能在这里找到。 所以如果依托B站开发听歌软件&#xff0c;那就是真的香&#xff0c;而且软件…...

Vue3中实现原生CSS完成圆形按钮点击粒子效果和定点旋转动画

效果&#xff1a; 源码&#xff1a; <script setup> import { ElMessage } from "element-plus"; const isClick () > {ElMessage.success(Clicked); }; </script><template><button click"isClick" class"button">…...

百度网盘 服务器开小差了

有会员&#xff0c;新上传文件到百度网盘&#xff0c;分享链接&#xff0c; 别人打开链接&#xff0c;显示【服务器开小差了&#xff0c;请稍后重试~】&#xff0c;保存不了 试了几个都不行&#xff0c;文件是视频MP4 可行的方法是百度网盘加好友&#xff0c;然后在聊天页面单…...

数据分析师招聘要求

在当今数据驱动的世界中&#xff0c;数据分析师的角色变得愈发重要&#xff0c;他们被赋予从海量数据中提炼洞察的关键任务。数据分析师的招聘要求反映了这个职位多方面的需求&#xff0c;从教育背景到技能&#xff0c;再到软技能和行业特有的知识。本文将详细探讨这些要求&…...

【C语言】实战-力扣题库:回文链表

题目描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 提示&#xff1a; 链表中节点数目在范围[1, 105] 内0 < Node.val < 9 进阶&#xff1a;你能否用 O(n) 时间…...

Centos安装Minio

文章目录 1 远程下载二进制文件2 创建目录&#xff1a;文件存储、日志3 授权执行4 启动5 创建配置文件6 注册服务并开机自启7 创建key附录参考文档 1 远程下载二进制文件 [rootlocalhost bin]# cd /opt/package [rootlocalhost package]# wget https://dl.min.io/server/minio…...

二叉树的基本概念和底层实现

1. 树型结构 1.1 认识树 在学习二叉树之前我们需要了解一下树型结构 树是一种非线性的数据结构,它是由n个结点组成的一个有层次关系的集合,看起来像个倒挂的树,也就是根朝上,枝叶朝下. 特点: 1. 根结点没有前驱结点 2. 除了根结点外其他的结点被分为互不相交的集合,每个集合又…...

GIF图片格式详解(三)

gif历史部分介绍请参考上一篇《GIF图片格式详解&#xff08;一&#xff09;》&#xff0c; 格式部分详解参考 《GIF图片格式详解&#xff08;二&#xff09;》 或直接访问博客地址&#xff1a;https://blog.whatsroot.xyz/2023/12/16/all-about-gif/ 本篇介绍下用于处理gif图…...

类和对象相关题

文章目录 1. 求123...n2. 计算是这一年的第几天3. 求两个日期之间的天数4. 算出第n天是几月几号5. 计算一个日期加上若干天后是什么日期 1. 求123…n 求123…n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&a…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...