【技术派部署篇】Windows本地部署技术派

一、技术派简介

技术派是一个采用 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈的社区系统,其 1.0 版已正式上线。该项目的技术栈按阶段集成引入,开发者可根据自身需求选择不同版本进行学习。

二、环境依赖安装

1. JDK8 安装

  • 技术派最小依赖的 JDK 版本为 8,且最高也建议使用 8 版本,以避免后期出现兼容性问题。
  • 下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows
  • 下载.exe 安装包,双击进行安装,并记录安装路径。
  • 环境配置:
    • 右键点击“我的电脑”,选择“属性”,进入“高级系统设置”,点击“环境变量”。
    • 在“系统变量”中新建变量,变量名设为“JAVA_HOME”,变量值为 JDK 安装路径。
    • 编辑“Path”变量,添加“%JAVA_HOME%\bin”。
    • 验证:打开命令提示符(CMD),输入“java -version”,若能正确显示 JDK 版本信息,则安装成功。
      在这里插入图片描述

2. MySQL 安装

  • 版本支持:5.7.x8.x+
  • 下载地址:https://dev.mysql.com/downloads/installer/
  • 下载.exe 安装包,双击进行安装,并记录安装路径。
  • 配置环境变量:
    • 右键点击“我的电脑”,选择“属性”,进入“高级系统设置”,点击“环境变量”。
    • 在“系统变量”中新建变量,变量名设为“MYSQL_HOME”,变量值为 MySQL安装路径。
      • 编辑“Path”变量,添加“%MYSQL_HOME%\bin”。
      • 验证:重新打开命令行工具,输入mysql -uroot -p,若能成功连接 MySQL,则说明环境变量配置成功。
        在这里插入图片描述

3. Redis 安装

  • 下载地址:https://github.com/MicrosoftArchive/redis/releases
    在这里插入图片描述
  • 使用 MSI 安装包安装:下载 MSI(Microsoft Installer)格式的 Redis 安装包,双击运行安装程序,按照安装向导的提示进行操作,选择安装路径等选项即可完成安装。安装完成后,可在命令行中进入 Redis 安装目录,使用redis-server命令启动 Redis 服务。
  • 使用免安装绿色版:下载免安装的绿色版 Redis 压缩包,解压到指定目录。打开命令行,进入解压后的目录,输入redis - server redis.windows.conf命令即可启动 Redis 服务。
    在这里插入图片描述

4. Maven 安装

  • Maven 是项目的构建工具,在导入技术派项目时需要使用它来构建项目。
  • 下载地址:https://maven.apache.org/download.cgi
  • 选择.tar.gz.zip 包,解压到本地指定位置。
  • 环境配置:
    • 新增环境变量“MAVEN_HOME”,变量值为 Maven 解压路径。
    • 更新“Path”变量,添加“%MAVEN_HOME%\bin”。
    • 验证:在终端中输入“mvn -version”,若能显示 Maven 版本信息,则安装成功。
      在这里插入图片描述

5. IDEA 安装

  • 推荐使用 IDEA 作为技术派的开发工具,有钱的用户可以选择 Ultimate 版本(学生可申请教育版),个人也可使用社区免费版。
    • 下载地址:https://www.jetbrains.com/zh-cn/idea/download/?section=windows
    • 新手建议安装通义灵码或字节 MarsCode 插件,以便在出现问题时利用 AI 定位和解决。
    • 插件安装:
      • 安装完毕后,必须安装“lombok”插件,否则会导致技术派工程编译异常。
      • 安装方式:打开“file -> settings -> plugins -> Marketplace”,找到“lombok”插件(小辣椒图标),点击安装并重启 IDEA。
      • 推荐安装的插件还包括:Maven Helper(让依赖管理更简单)、MyBatisx(支持 mybatis 的 xml 与 mapper 接口互相跳转)、Rainbow Brackets(使括号更易区分)、GenerateSerialVersionUID(自动生成类的 serializeId)、CodeGlancePro(在代码编辑区域添加类似 sublimetxt 的滑动窗口)。

三、本地编译运行

  1. 加载源码

    • 源码地址:
      • 项目仓库(GitHub):https://github.com/itwanger/paicoding
      • 项目仓库(码云):https://gitee.com/itwanger/paicoding
    • 若本地未安装 git,推荐安装;也可通过其他方式下载源码。
    • 使用 IDEA 打开项目:启动 IDEA,选择“File -> Open”,然后选择下载的源码路径。打开项目后会构建索引,耗时取决于网络环境,构建完成后项目模块标识会发生变化。
      在这里插入图片描述
  2. 开发环境配置

    • 本地项目加载后,在启动前需查看本地环境变量配置,默认使用 dev 开发环境(无需额外设置)。
    • 打开“paicoding-web/src/main/resources-env/dev”目录下的配置文件“application-dal.yml”,重点修改数据库和 Redis 的用户名和密码:
      • 数据库:“spring.datasource.username”和“spring.datasource.password”分别设置为本地数据库的用户名和密码;若要使用其他服务器上的数据库,需修改“spring.datasource.url”中的地址和端口号;默认数据库名为“database.name = pai_coding”,可在“src/main/resources/application.yml”中查看。
      • Redis:当不使用密码时,“password”为空;若有密码,则需设置为对应的密码。
        在这里插入图片描述
  3. 本地编译运行

    • 启动 MySQL 和 Redis。

    • 找到启动入口:“paicoding-web”模块中的“com.github.paicoding.forum.web.QuickForumApplication”。

    • 在 IDEA 中右键点击启动入口,选择“Run or Debug”方式启动项目。
      在这里插入图片描述

    • 首次启动会自动创建数据库表,并初始化一些用户、博文等相关数据。启动成功的标识是控制台上会出现相应的输出,点击输出中的链接即可进入技术派首页。
      在这里插入图片描述
      在这里插入图片描述

四、常见问题及解决方法

在部署过程中,可能会遇到一些问题,以下是部分常见问题及解决方法:

  1. 数据库无法自动创建:部分用户反馈不能自动创建数据库,此时可以先自行创建一个空数据库,项目运行时会自动创建表。若仍存在问题,可查看日志以确定报错原因。
  2. MySQL 密码修改问题:安装 MySQL 8 时,密码修改方式可能与文档中介绍的不同,可参考 https://blog.csdn.net/qq_38935605/article/details/127509902 进行操作。
  3. 项目报错问题:如遇到“Cannot resolve property”等报错,可能是配置文件格式问题,例如在“password:”后面添加一个空格后再输入密码可能会解决问题;若遇到“PublicKey Retrieval is not allowed”报错,可在配置文件里加上“&allowPublicKeyRetrieval=true”配置;若 test 文件夹中有重复的类,可将重复类的代码注释掉。
  4. JDK 版本兼容问题:若使用较高版本的 JDK(如 JDK23)无法运行项目,可将 JDK 版本改为 8,参考 https://stackoverflow.com/questions/77171270/compilation-error-after-upgrading-to-jdk-21-nosuchfielderror-jcimport-does-n 解决相关问题。

五、总结

通过以上步骤,我们可以在 Windows 系统上成功部署技术派。在部署过程中,要注意各环境依赖的安装和配置细节,以及遇到问题时的排查和解决方法。

六、参考链接

  1. 技术派项目工程搭建手册
  2. 项目演示地址:https://paicoding.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek和ChatGPT的全面对比

DeepSeek和ChatGPT作为当前领先的大语言模型,代表了AI发展的不同技术路径和应用理念。以下从技术架构到用户体验的全面对比分析,将揭示两者在AI竞赛中的独特定位。 一、模型架构与原理 1. DeepSeek 架构特点:采用混合专家系统(…

Python星球日记 - 第20天:数据分析入门

🌟引言: 欢迎来到Python星球🪐的第20天!今天我们将踏入数据分析的世界,学习如何使用pandas处理数据并提取有价值的信息。无论你是想分析商业销售数据、股票市场趋势还是科学实验结果,pandas都是你必不可少的工具! 上一篇:Python星球日记 - 第19天:Web开发基础 名人…

算力云平台部署—SadTalker的AI数字人视频

选择算力 部署选择 选择镜像 机器管理 控制台 通过平台工具进入服务器 认识管理系统 打开命令行 进入目录 stable-diffusion-webui# cd 增加执行权限 chmod x ./webui.sh 运行命令 bash ./webui.sh sudo apt install -y python3 python3-venv git 安装软件 Creating the …

Linux目录结构:核心目录功能与用途解析

引言 Linux的目录结构就像一棵精心设计的大树🌳,每个分支都有其特定的用途和规范!与Windows不同,Linux采用单一的目录层次结构,所有设备、分区和网络资源都挂载在这个统一的目录树下。本文将带你深入探索Linux目录结构…

【学习笔记】两个类之间的数据交互方式

在面向对象编程中,两个类之间的数据交互可以通过以下几种方式实现,具体选择取决于需求和设计模式: 1. 通过方法调用 一个类通过调用另一个类的公共方法来获取或传递数据。这是最常见的方式,符合封装原则。 class ClassA:def __…

神经网络学习--误差反向传播法

最近在学习神经网络,主要是依据书本《深度学习入门(基于Python的理论与实现)》,现对第5章“误差反向传播法”中的示例程序进行注释修改如下,以备后续查阅。 编程软件用的是Eric7,界面如下: 神经…

前端常用组件库全览与推荐

📌 一、组件库生态全景图 🚀 二、React 生态组件库推荐 名称简介官网Ant Design阿里出品,企业级 UI 系统,设计规范完整,适合后台系统https://ant.designMaterial UIGoogle Material Design 实现,样式响应式…

群晖如何通过外网访问

1、进入群晖控制面板-》连接性-》外部访问-》DDNS 2、新增,添加DDNS 选择服务供应商,我这里以DNSPod.cn为例。 3、这一步开始,需要前往DNSPod.cn进行注册域名(也可以使用你已有的域名,转入即可)&#xff0…

3.2.2.1 Spring Boot配置静态资源映射

在Spring Boot中配置静态资源映射,可以通过默认路径或自定义配置实现。默认情况下,Spring Boot会在classpath:/static/等目录下查找静态资源。若需自定义映射,可通过实现WebMvcConfigurer接口的addResourceHandlers方法或在全局配置文件中设置…

【概念】什么是UI(User interface)什么是UX(User experience)?

1. 软件生命周期管理 (Software Life Cycle Management) 解释: 中文: 软件生命周期管理是指从软件规划、设计、开发、测试、部署到后续维护甚至退役的整个过程。English: Software Life Cycle Management refers to the systematic process of plannin…

第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组

由于官方没有公布题目的数据, 所以代码仅供参考 1. 移动距离 题目链接:P12130 [蓝桥杯 2025 省 B] 移动距离 - 洛谷 【问题描述】 小明初始在二维平面的原点,他想前往坐标 (233, 666)。在移动过程中,他 只能采用以下两种移动方式&#xf…

​​IPerf工具使用笔记(基于MobaXterm串口终端)​

​​一、问题现象​​ ​​终端输入无响应​​ 启动iperf服务器后,终端被阻塞,无法输入其他命令(如图中重复输出日志覆盖输入区域)。​​直接原因​​:iperf_server线程未正确处理退出标志,导致select或acc…

【从C到C++的算法竞赛迁移指南】第五篇:现代语法糖精粹 —— 写出优雅的竞赛代码

系列导航: [第一篇] 基础语法与竞赛优势[第二篇] 动态数组与字符串革命[第三篇] 映射与集合的终极形态[第四篇] STL算法与迭代器[▶ 本篇] 现代语法糖精粹[第六篇] 竞赛实战技巧 一、范围for循环:告别索引的束缚 1.1 C风格遍历的四大痛点 // 痛点示例&…

mongodb在window10中创建副本集的方法

创建Mongodb的副本集最好是新建一个文件夹,如D:/data,不要在mongodb安装文件夹里面创建副本集,虽然这样也可以,但是容易造成误操作或路径混乱;在新建文件夹里与现有 MongoDB 数据隔离,避免误操作影响原有数…

使用Python进行AI图像生成:从GAN到风格迁移的完整指南

AI图像生成是一个非常有趣且前沿的领域,结合了深度学习和计算机视觉技术。以下是一些使用Python和相关库进行AI图像生成的创意和实现思路: 1. 使用GAN(生成对抗网络) 基本概念:GAN由两个神经网络组成:生成…

P10413 [蓝桥杯 2023 国 A] 圆上的连线

题意: 给定一个圆,圆上有 n2023 个点从 1 到 n 依次编号。 问有多少种不同的连线方式,使得完全没有连线相交。当两个方案连线的数量不同或任何一个点连接的点在另一个方案中编号不同时,两个方案视为不同。 答案可能很大&#x…

鸿蒙5.0 非桌面页面,设备来电后挂断,自动返回桌面

1.背景 其实在Android上面打开一个应用,然后设备来电后挂断应该是返回到前面打开的这个应用的,但是在鸿蒙里面现象是直接返回桌面,设计如此 2.分析 这个分析需要前置知识,鸿蒙的任务栈页面栈,具体参考如下链接: zh-cn/application-dev/application-models/page-missio…

智能Todo协作系统开发日志(二):架构优化与安全增强

📅 2025年4月14日 | 作者:Aphelios380 🌟 今日优化目标 在原Todo单机版基础上进行三大核心升级: 组件化架构改造 - 提升代码可维护性 本地数据加密存储 - 增强隐私安全性 无障碍访问支持 - 践行W3C标准 一、组件化架构改造 …

linux电源管理(二),内核的CPUFreq(DVFS)和ARM的SCPI

更多linux系统电源管理相关的内容请看:https://blog.csdn.net/u010936265/article/details/146436725?spm1011.2415.3001.5331 1 简介 CPUFreq子系统位于drivers/cpufreq目录下,负责进行运行过程中CPU频率和电压的动态调整,即DVFS (Dynami…

mysql 数据库localhost密码忘记

使用此查询语句: SELECT user, authentication_string FROM mysql.user WHERE user root; 复制对应的密码: 密码是通过md5加密后的 md5在线解密破解,md5解密加密 将密码输入进来 就可以直接破解了