一.后端(blog)启动报错项以及注意事项:


1.后台如果使用JDK17启动会报错:

Caused by: java.lang.NullPointerException: Cannot invoke “Object.hashCode()” because “key” is null

----修改成1.8启动即可解决(作者使用的是1.8)

注意事项:

  1. 正常来说修改application.yml中的数据库链接与密码,即可启动成功

  1. sql脚本执行之前一定要确保没有乱码,否则启动页面会乱码 (我使用DBeaver,把脚本先复制到一个SQL编辑器里面,确保没乱码再执行)

  1. 如需上传文件保存至本地(例如相册的照片),需执行以下操作:
    3.1 启动项目后第一时间把 “系统配置”–》“系统配置” 中的文件保存先切换至本地保存

3.2 “系统配置”–》“本地文件存储” 中的本地文件域名修改为 http://localhost:8800/jpg/ (项目路径/jpg ,这个jpg对应下面新增JpgPathConfig.java文件中配置的虚拟路径)

3.3 application.yml中把 upload-folder上传照片的路径修改成本地实际上传路径:

     file:
upload-folder:D:/jpg/#本地上传照片,最后一定要有/,否则文件无法找到

3.4 新增配置文件JpgPathConfig.java:

package com.shiyi.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@ConfigurationpublicclassJpgPathConfigimplementsWebMvcConfigurer {@Value("${file.upload-folder}")//本地上传文件的路径private String UPLOAD_FOLDER;@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistry registry) {//   虚拟路径/jpg/对应系统配置中本地文件域名的后缀,registry.addResourceHandler("/jpg/**").addResourceLocations("file:" + UPLOAD_FOLDER);//把实际上传路径映射到虚拟路径中(当前项目/jpg/),当谷歌浏览器访问虚拟路径就可以看到该文件了}
}

也就是说把上传的真实路径 D:/jpg/映射到项目静态文件的jpg文件夹,前台展示的文件url就是http://localhost:8800/jpg/**


后来发现WebMvcConfig.java中已经有定义有:
registry.addResourceHandler("/img/**").addResourceLocations("file:" + UPLOAD_FOLDER);
也就是只需要执行3.3修改application.yml中实际存放的图片路径即可,页面只需要在img标签中使用/img/xxx.jpg即可直接访问图片(注意拦截器中是拦截访问/img/**路径下才会被转到图片的实际路径中)


4 . pom.xml把log4j的依赖删除,因为使用了logback,并没有使用log4j,启动会一直警告没有配置log4j,

5. 第4步执行完之后,再替换application.yml中的spring.datasource.filters: stat,wall,slf4j #log4j 因为未使用log4j依赖,因此使用slf4j来替换log4j(因为log4j依赖已被删除,因此必须使用logback的slf4j来替换log4j,否则启动报错)


二. 前端前台(blog-web)启动注意事项:


1. shiyi-blog-master\blog-web(前台的前端)根目录下打开cmd ,运行 npm install --registry=https://registry.npmmirror.com ,依赖安装完毕,使用npm run serve 启动测试环境,如果有以下报错信息:

This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using vue-loader@>=10.0, simply update vue-template-compiler.
If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.

执行npm i vue-template-compiler@2.7.14 --save ,2.7.14对应的是当前试用的vue的版本,意思是把某个依赖的版本升级到vue2.7.14对应的版本,再次启动项目,如果还是报错,那么就直接执行npm audit fix --registry=https://registry.npmmirror.com 来修复各依赖的版本,使其对应vue2.7.14的版本修复完毕再次启动项目

~ ------这次启动(npm run serve)成功,访问:http://localhost:80/就好了~


三. 前端后台(blog-admin)启动注意事项:


报错信息:

PS D:\hewenjun\shiyi-blog-master\blog-admin> npm install --registry=https://registry.npmmirror.com
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: sass-loader@8.0.2
npm ERR! Found: node-sass@6.0.1
npm ERR! node_modules/node-sass
npm ERR! dev node-sass@"^6.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional node-sass@"^4.0.0" from sass-loader@8.0.2
npm ERR! node_modules/sass-loader
npm ERR! dev sass-loader@"^8.0.2" from the root project
npm ERR!
npm ERR! node_modules/node-sass
npm ERR! peerOptional node-sass@"^4.0.0" from sass-loader@8.0.2
npm ERR! node_modules/sass-loader
npm ERR! dev sass-loader@"^8.0.2" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

解决办法:

npm uninstall sass-loader node-sass 卸载掉

打开package.json文件把"sass-loader": "^8.0.2"版本修改成7.3.1,再次执行npm install --registry=https://registry.npmmirror.com ,

这次搞定,启动成功访问:http://localhost:9528/就好了 ,虽然还有很多报错信息,但也启动成功,注意启动方法是npm run dev,而不是前台的npm run serve否则无法启动成功

npm notice
npm notice New major version of npm available! 8.19.2 -> 9.6.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.2
npm notice Run npm install -g npm@9.6.2 to update!
npm notice

那就升级npm

npm install -g npm@9.6.2 ------升级后就ok了


2023-03-20 19:09:50.961 [main] ERROR com.alibaba.druid.pool.DruidDataSource:918 - init datasource error, url: jdbc:mysql://127.0.0.1:3306/blog?characterEncoding=UTF-8&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:118)
at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:764)
at com.alibaba.druid.filter.FilterEventAdapter.connection_connect(FilterEventAdapter.java:33)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:112)
at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:764)
  allowPublicKeyRetrieval=true   #数据源添加这句上去就okurl: jdbc:mysql://127.0.0.1:3306/blog?allowPublicKeyRetrieval=true

注意:npm run build 打包后台 ,跟ruoyi打包命令(npm run build:prod)不一样

------------------------------------------------------------------------------------

DruidConfig.java中有配置druid数据库监控页的账号密码,因数据库连接池未使用druid,因此单独配置的

拾壹博客的启动及一些注意事项相关推荐

  1. 拾壹博客拆解,docker环境部署加自动化发布(一)

    前言 一直想搭建一个属于自己的博客,之前使用过Wordpress,但是觉得太笨重了,很多功能都不是自己需要的,然后有一天摸鱼摸到了拾壹博客.感觉这个项目虽然功能少,但是基本上架子都有了,自己想要的功能 ...

  2. 拾壹博客拆解,页面元素替换(二)

    页面元素替换 首先要做的当然是换成自己风格的站名和内容啦. 1.网站配置 跟踪前端代码后发现配置是来自后端接口,想着既然入库了,那应该有对应的管理页面吧,果然找到了,就是-演示账号不允许操作!那么接下 ...

  3. 博客营销的价值与注意事项

    博客营销 一.博客营销是什么 博客营销是一种基于个人思想.体验等表现形式的知识资源,一种网络营销手段,通过博客网站或博客论坛接触博客作者和浏览者,利用博客作者个人的知识.兴趣和生活体验等传播商品信息的 ...

  4. 博客发外链的注意事项

    1.不要使用博客群发软件 很多站长为了方便.快捷,就使用博客群发软件来发外链,虽然我没有用过博客群发软件,但是我个人觉得这样做是不好的,因为软件毕竟只是软件,没有人想的那么细致,考虑的那么周全.比如内 ...

  5. oracle经典博客,Oracle启动步骤【经典博客】

    - 首先看看listener是否启动 $ lsnrctl service LSNRCTL for Intel SVR4 UNIX: Version 8.1.6.0.0 - Production on ...

  6. 如何将每日新闻添加到自己博客中,发送到微信群中

    大家好,我是雄雄. 前言 最近新整了个博客网站,同事在gitee上找的,还不错,gitee上的地址在这里:拾壹博客管理系统. 别人的业务,再好也有不满足自己的地方,所以我就拉下来源码看了看,改了些bu ...

  7. python的selenium模块博客园_Python学习--Selenium模块学习(2)

    Selenium的基本操作 获取浏览器驱动寻找方式 1. 通过手动指定浏览器驱动路径 2. 通过 `$PATH`环境变量找寻浏览器驱动 控制浏览器访问URL find系列函数定位元素 - `find_ ...

  8. 基于samba实现win7与linux之间共享文件_阳仔_新浪博客

    基于samba实现win7与linux之间共享文件_阳仔_新浪博客 然后启动samba执行如下指令: /dev/init.d/smb start 至此完成全部配置.

  9. 开源java博客tale_用Tale快速搭建个人博客

    前言 tale是一款简洁美观的java开源博客 tale博客简介 先看效果,这是我用tale搭建的博客,http://verypure.me 我的tale博客 这是tale博客的后台 我的tale博客 ...

最新文章

  1. TPC-W安装与配置(威斯康星大学Java版)
  2. Android 获取设备ID,手机厂商,运营商,联网方式,获取系统语言,获取时区
  3. MVC.Net:将Reponse Redirect从Get变为Post
  4. erp系统是什么版本
  5. HEVC代码学习0:HM使用+码流分析教程
  6. 快速入门linux(收藏版)
  7. java生成视频缩略图
  8. 计算机主板知识,电脑主板知识:主板板型、接口、做工与选购详解
  9. DELPHI 旧控件安装到 DELPHI11 新版环境的操作
  10. ETUDE HOUSE伊蒂之屋携手全新中国区品牌大使Justin黄明昊
  11. 六种找客户的方法销售人员需掌握
  12. 将MYS_SAM9X5改为dataflash启动
  13. matlab 三角分解法 解线性方程组的直接方法
  14. C# CSV文件读写
  15. 使用OpenCV+ZBar实现多条形码识别
  16. 日常运维1w、vmstat、
  17. 接码平台注册流程和使用
  18. Web性能测试模型小结
  19. 这套制造行业数字化解决方案,超过一半的世界五百强的中国制造型企业都在用!
  20. 未能成功加载扩展程序

热门文章

  1. 读书笔记 | 经济学、组织与管理 (第五、六、七部分)
  2. window11 查看本地端口是否开放
  3. Sensor HAL框架分析之二
  4. linux查看内存是单通道还是双通道,android /linux如何识别S5pv210 双通道不连续的内存?...
  5. Java Web入门之JSP的基本语法解析及实战(超详细 附源码)
  6. 英雄联盟服务器维护 启动游戏失败,英雄联盟手游登陆失败该怎么办 登陆失败的解决办法...
  7. PS制作透明发光文字
  8. 网络 - TCP大全
  9. Android文字描边效果实现
  10. css中的position定位详解