当前位置: 首页 > 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…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...