通用型产品发布解决方案(后端环境搭建)

文章目录

    • 后端renren脚手架配置
        • 1.解压后放到项目目录下
        • 2.新建商品模块
          • 1.创建一个新模块 sunliving-commodity
          • 2.删除两个不必要的文件
          • 3.pom.xml 引入依赖
        • 3.maven进行聚合管理
          • 1.将刚才配置的pom.xml文件复制到父项目下并进行修改
          • 2.手动将这个pom.xml加入项目(如果右下角没提示的话)
          • 3.暂时注销掉,因为还没有引入SpringCloud
          • 4.此时刷新maven就不会有报错
        • 4.开启docker的mysql容器
          • 1.启动虚拟机
          • 2.进入虚拟机目录,cmd
          • 3.登录虚拟机 `vagrant ssh`
          • 4.切换到root用户 `su` 密码 vagrant
          • 5.查看所有docker容器 `docker ps -a`
          • 6.启动mysql容器 `docker start mysql`
          • 7.查看目前运行的容器 `docker ps`,成功启动
          • 8.查看linux的端口 `ip addr` 得到ip为192.168.56.101
          • 9.连接mysql容器
          • 10.IDEA连接数据库
        • 5.创建renren-fast的数据库表
          • 1.创建数据库
          • 2.填写名字和字符集
          • 3.找到renren-fast中的sql脚本
          • 4.注意选中数据库,执行脚本
        • 6.修改application-dev.yml文件参数
          • 1.查看application.yml文件中激活的环境为开发环境
          • 2.修改application-dev.yml的数据库连接参数
        • 7.启动测试
          • 1.启动
          • 2.报错了
          • 3.文件编码问题分析
            • 1.直接将这句话百度搜索
            • 2.打开target目录,查看这个文件,中文乱码
            • 3.虽然乱码了,但是并不是空文件,再次搜索
            • 4.这个答案感觉很靠谱,之前学习微服务的时候正好配过编码,将编码都改成utf-8
            • 5.再次启动还是一样的问题,经过观察,target目录下的文件还是GBK,但是我确定更改了编码,那么就只有一种可能,就是重新启动的时候这个文件并没有重新生成,所以使用maven的clean先把target目录干掉再重启
            • 6.再次重启,这个问题果然解决,不过又报错了
          • 4.init datasource error异常分析
            • 1.这里出问题一定是数据源配置错了
            • 2.一看是mysql容器的ip配错了应该是101
            • 3.修改一下application-dev.yml
            • 4.再次启动,还是报错
            • 5.一个error表示可能是连接url的问题,但是第二句话过于宽泛,所以将第三句话搜索
            • 6.首先这个人的报错跟我完全一致,而且他提到了可能是SSL的问题,让我想到了之前没有加useSSL=false确实会报错所以试一下,修改application-dev.yml
            • 7.再次启动,没有报错!!!
          • 5.浏览器访问 [localhost:8080/renren-fast/](http://localhost:8080/renren-fast/)出现下图则说明初始化成功了!
          • 6.提交代码:后端初始化完毕!

后端renren脚手架配置

1.解压后放到项目目录下

image-20240408190240308

2.新建商品模块
1.创建一个新模块 sunliving-commodity

image-20240408190851932

2.删除两个不必要的文件

image-20240408190954854

3.pom.xml 引入依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sun.sunliving</groupId><artifactId>sunliving-commodity</artifactId><version>1.0-SNAPSHOT</version><name>Archetype - sunliving-commodity</name><url>http://maven.apache.org</url><description>sun(家居生活)-商品模块</description><!-- 导入SpringBoot父工程 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE</version><relativePath/> <!-- 当parent的groupId没有指向父工程时就需要加 --></parent><properties><java.version>1.8</java.version><!-- SpringCloud版本 2020.0.5--><spring-cloud.version>2020.0.5</spring-cloud.version></properties><dependencies><!-- SpringBoot web模块 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- SpringBoot test模块 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><!-- maven打包常规配置 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
3.maven进行聚合管理
1.将刚才配置的pom.xml文件复制到父项目下并进行修改
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sun.sunliving</groupId><!-- artifactId: 项目名称 --><artifactId>sunliving</artifactId><version>1.0-SNAPSHOT</version><!-- name: 项目名称 --><name>sunliving</name><url>http://maven.apache.org</url><description>sun(家居生活)-集成聚合微服务模块</description><!-- 表示当前项目是一个聚合项目 --><packaging>pom</packaging><!-- 指定聚合管理的模块 --><modules><module>sunliving-commodity</module><module>renren-fast</module></modules></project>
2.手动将这个pom.xml加入项目(如果右下角没提示的话)

image-20240408193714488

image-20240408193633125

3.暂时注销掉,因为还没有引入SpringCloud

image-20240408194805691

4.此时刷新maven就不会有报错

image-20240408195049930

4.开启docker的mysql容器
1.启动虚拟机

image-20240408195848079

2.进入虚拟机目录,cmd

image-20240408195912387

3.登录虚拟机 vagrant ssh

image-20240408200229713

4.切换到root用户 su 密码 vagrant

image-20240408200310396

5.查看所有docker容器 docker ps -a
  • 可以看到我们的mysql容器名字是mysql

image-20240408200509389

6.启动mysql容器 docker start mysql

image-20240408200649800

7.查看目前运行的容器 docker ps,成功启动

image-20240408200741445

8.查看linux的端口 ip addr 得到ip为192.168.56.101

image-20240408200907866

9.连接mysql容器
  • ip 192.168.56.101
  • port 3306
  • username root
  • password root
10.IDEA连接数据库

image-20240408201607541

5.创建renren-fast的数据库表
1.创建数据库

image-20240408201847844

2.填写名字和字符集

image-20240408202347861

3.找到renren-fast中的sql脚本

image-20240408202503296

4.注意选中数据库,执行脚本

image-20240408202607979

image-20240408202640834

6.修改application-dev.yml文件参数
1.查看application.yml文件中激活的环境为开发环境

image-20240408203007214

2.修改application-dev.yml的数据库连接参数

image-20240408203216816

7.启动测试
1.启动

image-20240408203725938

2.报错了

image-20240408203741045

3.文件编码问题分析
1.直接将这句话百度搜索

image-20240408203826271

2.打开target目录,查看这个文件,中文乱码

image-20240408203912365

3.虽然乱码了,但是并不是空文件,再次搜索

image-20240408204327910

image-20240408204543332

4.这个答案感觉很靠谱,之前学习微服务的时候正好配过编码,将编码都改成utf-8

image-20240408205052358

image-20240408205552549

5.再次启动还是一样的问题,经过观察,target目录下的文件还是GBK,但是我确定更改了编码,那么就只有一种可能,就是重新启动的时候这个文件并没有重新生成,所以使用maven的clean先把target目录干掉再重启

image-20240408205830134

6.再次重启,这个问题果然解决,不过又报错了

image-20240408210040635

4.init datasource error异常分析
1.这里出问题一定是数据源配置错了
2.一看是mysql容器的ip配错了应该是101

image-20240408210243174

3.修改一下application-dev.yml

image-20240408210309482

4.再次启动,还是报错

image-20240408211805771

5.一个error表示可能是连接url的问题,但是第二句话过于宽泛,所以将第三句话搜索

image-20240408211948601

6.首先这个人的报错跟我完全一致,而且他提到了可能是SSL的问题,让我想到了之前没有加useSSL=false确实会报错所以试一下,修改application-dev.yml

image-20240408212104242

7.再次启动,没有报错!!!

image-20240408212208736

5.浏览器访问 localhost:8080/renren-fast/出现下图则说明初始化成功了!

image-20240408212418540

6.提交代码:后端初始化完毕!

image-20240408212717373

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

克服 Prometheus 单值数据模型的局限性:GreptimeDB 的新路径

引言 Prometheus 已经成为监控和报警生态系统的基石&#xff0c;在高效、直接地处理实时指标&#xff08;Metric&#xff09;方面有着强大的表现。Prometheus 的核心是一个包含单个值和一系列标签的数据模型。这种设计在提升简单性和适应性的同时&#xff0c;也带来了一些挑战…

论文《Deep graph tensor learning for temporal link prediction》阅读

论文《Deep graph tensor learning for temporal link prediction》阅读 论文概况IntroductionRelated work动态图表示学习图张量表示 Preliminary张量生成建模 深度图张量学习模型A.基于图紧凑的空间表示B.时间模式表示C.时空特征聚合D.损失函数 实验消融实验 总结 论文概况 …

多线程-写入读取文件,使用同步逻辑

在一个进程中&#xff0c;创建一个子线程。 主线程负责:向文件中写入数据 子线程负责:从文件中读取数据 要求使用线程的同步逻辑&#xff0c;保证一定在主线程向文件中写入数据成功之后&#xff0c;子线程才开始运行&#xff0c;去读取文件中的数据 #include <stdio.h> …

【C++】list的使用与模拟实现

&#x1f525;个人主页&#xff1a;北辰水墨 &#x1f525;专栏&#xff1a;C学习仓 本节内容我们来讲解list的使用和模拟实现。 本节难点&#xff1a;list迭代器的模拟实现。 一、list的介绍&#xff1a; 列表 列表是一种序列容器&#xff0c;允许在序列的任何位置进行时间复…

如何制作微信表情包动图?三步在线制作gif表情包

喜欢使用聊天软件的小伙伴们经常会使用一些有趣动态表情包。当我们想要自己制作gif动画&#xff0c;还不想下载软件的时候要怎么实现呢&#xff1f;很简单&#xff0c;通过使用gif在线制作&#xff08;https://www.gif.cn/&#xff09;网站-GIF中文网&#xff0c;无需下载软件手…

基于ESP32和ESP8266的物联网开发过程(二)

在做这个项目前&#xff0c;也做了一些调研。项目的初衷是想要用于智能家居。我比较了小米IoT、阿里云、ESPHOME、巴沙云、点灯科技和ONENET等几个平台。最终选择了Onenet&#xff0c;部分原因是之前用过它的多协议版本&#xff0c;但现在这个版本已经下线了。 小米IoT的公测名…

Java数据结构(链表实战二)

前言 基于链表的操作比较多&#xff0c;希望通过一系列的实战操作&#xff0c;加深对链表的理解和应用。每日更新两题&#xff0c;希望学习的小伙伴关注一波&#xff0c;评论区欢迎讨论交流。 今日份练习 leetcode合并两个有序链表 实现原理 1.先建一个dummy的链表&#x…

React19学习-初体验

升级react19版本 安装 npm install reactbeta react-dombeta如果使用ts则需要在package.json中添加。等正式版发布直接可以使用types/react了 "overrides": {"types/react": "npm:types-reactbeta","types/react-dom": "npm:ty…

【LLM 论文】Chain-of-Verification:通过验证链来减少 LLM 幻觉

论文&#xff1a;Chain-of-Verification Reduces Hallucination in Large Language Models ⭐⭐⭐ arXiv:2309.11495 论文速读 LLM 由于不可避免地会产生幻觉&#xff0c;现有的研究主要鼓励 LLM 在产生 response 之前生成内部思想的推理链&#xff0c;或者通过 self-critique…

PG 全页写

1.什么是全页写 修改一个块的时候&#xff0c;把块读到内存中&#xff0c;commit后,WAL写进程会触发写&#xff0c;把修改的块写到WAL日志文件&#xff0c;如果再往这个块中插入一条数据&#xff0c;数据缓冲区里面的块有两条数据了&#xff0c;再次commit后&#xff0c;PG会把…

车载测试系列:自动驾驶中间件SOME/IP

一、以太网引入汽车 2004年&#xff0c;宝马汽车的OBD诊断口采用的是高速CAN总线&#xff0c;速率为500kbit/s&#xff0c;除去CAN协议本身的开销&#xff0c;通过OBD口升级控制器的净升级速度降到200kbit/s。预计到2008年&#xff0c;软件更新的数据量会达到1GB&#xff0c;按…

2024年化学材料、清洁能源与生物技术国际学术会议(ICCMCEB2024)

2024年化学材料、清洁能源与生物技术国际学术会议(ICCMCEB2024) 会议简介 2024国际化学材料、清洁能源和生物技术大会&#xff08;ICCMCEB2024&#xff09;将在长沙隆重举行。本次会议旨在汇聚来自世界各地的化学材料、清洁能源和生物技术领域的专家学者&#xff0c;共同探…

【计算机毕业设计】springboot合庆镇停车场车位预约系统

本系统为用户而设计制作合庆镇停车场车位预约系统&#xff0c;旨在实现合庆镇停车场车位预约智能化、现代化管理。本合庆镇停车场车位预约管理自动化系统的开发和研制的最终目的是将合庆镇停车场车位预约的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代…

vue----- watch监听$attrs 的注意事项

目录 前言 原因分析 解决方案 总结 前言 在 Vue 开发过程中&#xff0c;如遇到祖先组件需要传值到孙子组件时&#xff0c;需要在儿子组件接收 props &#xff0c;然后再传递给孙子组件&#xff0c;通过使用 v-bind"$attrs" 则会带来极大的便利&#xff0c;但同时…

【进程替换】多进程程序替换原理 | 进程程序替换函数 | execlexecv | execlpexecvp

目录 多进程程序替换 多进程程序替换原理 进程程序替换函数详解 execl&execv execlp&execvp execle&execvpe execve 多进程程序替换 我们想要进程替换的同时不影响旧的进程&#xff08;使用多进程版&#xff09;fork创建子进程&#xff0c;让子进程去替换执…

大模型在智能客服领域的应用思考

前言 随着大模型技术的飞速发展,其在商业化应用的落地实践上仍面临着挑战,不论是面向C端用户的付费服务模式,还是面向B端企业的业务赋能策略,目前都尚未形成成熟且清晰的商业模式。 在我所专注的智能客服领域,作为人工智能落地应用的前沿阵地,我深刻感受到大模型的生成…

面试集中营—Redis面试题

一、Redis的线程模型 Redis是基于非阻塞的IO复用模型&#xff0c;内部使用文件事件处理器&#xff08;file event handler&#xff09;&#xff0c;这个文件事件处理器是单线程的&#xff0c;所以Redis才叫做单线程的模型&#xff0c;它采用IO多路复用机制同时监听多个socket&a…

gorm-sharding分表插件升级版

代码地址&#xff1a; GitHub - 137/gorm-sharding: Sharding 是一个高性能的 Gorm 分表中间件。它基于 Conn 层做 SQL 拦截、AST 解析、分表路由、自增主键填充&#xff0c;带来的额外开销极小。对开发者友好、透明&#xff0c;使用上与普通 SQL、Gorm 查询无差别.解决了原生s…

爬虫学习--5.xpath数据解析

xpath是XML路径语言&#xff0c;它可以用来确定xml文档中的元素位置&#xff0c;通过元素路径来完成对元素的查找。HTML就是XML的一种实现方式&#xff0c;所以xpath是一种非常强大的定位方式。 基本概念 XPath&#xff08;XML Path Language&#xff09;是一种XML的查询语言…