- 博客(99)
- 收藏
- 关注
原创 Docker容器中bash命令未找到问题
这个错误表示你尝试在 Docker 容器中执行 bash 时,系统找不到 bash 这个命令。许多精简版 Docker 镜像(如 alpine)默认使用 sh 而不是 bash。如果镜像是 alpine,则默认没有 bash,需按上述方法处理。如果必须使用 bash,请确认容器已安装或自行安装。
2025-04-03 15:45:15
124
原创 基于React + Antd + Java的OFD文件上传预览实现方案(OFD文件转图片)
完整实现需要根据实际业务需求调整参数,例如图片分辨率(ImageMaker的dpi参数)、返回格式等。通过ofd文件转图片后,可满足基本OFD预览需求。可以参考这位老哥的解决方案,通过 ofd 转成 pdf 之后进行预览。但我感觉这样麻烦一点,还要处理 pdf 预览的问题。直接转图片预览最直接。
2025-04-02 17:15:39
660
原创 Maven依赖下载不下来的问题
我创建的SpringBoot 项目使用的是最新的版本 3.5.0-SNAPSHOT, 但是我的 Maven 下载不了这个依赖。这个报错通常是由于依赖不存在或仓库配置问题引起的。通过检查依赖版本、强制更新或更改仓库配置,通常可以解决这个问题。使用稳定版本:如果不需要快照版本,建议使用稳定版本(如 3.0.13),以避免类似问题。
2025-03-14 12:50:01
196
原创 解决 word 2016 粘贴图片老是乱飘的问题
我的 word 2016 放入图片,图片有的时候乱飘,甚至可以移动到页眉、页脚的地方。:首先,在你的文档中点击选中你想要调整的图片。
2025-03-11 22:00:36
369
原创 项目部署到生产上遇到的网络问题
项目使用的是 docker 部署的方式。一开始以为是网络权限没开通,一直找运维部门帮忙看,也都没发现问题,网络部门已经把权限都开了。这才想起来是之前改过 iptable 的规则。影响到了 docker,因为 docker 的网络底层和 iptable 有关联。折腾了一番后,有位同事想重启 docker 服务,结果发现重启失败。今天项目上线不顺利,原因就是网络能 telnet 通过,但是就是访问不到接口。重启 docker 和 docker 服务即可恢复正常。
2025-03-11 21:35:30
273
原创 Spring AOP 切面打印日志完整版
我的项目使用的是 SpringBoot 3。要在 Spring Boot 3 项目中使用 AOP(面向切面编程)来打印接收和响应的参数,如 URL、参数、头部信息、请求体等,可以按照以下步骤操作:步骤 1: 添加依赖确保你的 pom.xml 文件中包含 spring-boot-starter-aop 依赖。如果你创建的是一个标准的 Spring Boot 项目,这个依赖通常已经包含在内了。如果没有,请手动添加:步骤 2: 创建切面类创建一个新的类用于定义你的切面逻辑。例如,可以命名为 LoggingAs
2025-02-27 20:59:18
716
原创 SpringBoot项目注入 traceId 来追踪整个请求的日志链路
SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排查问题的时候,可以迅速根据 traceId 查找到相关请求的日志,特别是在生产环境的时候,用户可能只提供一个错误截图,我们作为开发人员想要更详细的日志,这时候我们就可以直接根据用户提供的 traceId 来查找用户这次请求的整个日志,会方便很多。即使是在单体应用中,为请求添加一个唯一的traceId以追踪整个请求链路的日志也是完全可行的。关于更具体的日志输出配置,可以参考我的这篇文章《
2025-02-26 19:38:13
1333
原创 数据库的常见权限作用
每个权限都有其特定的用途,根据实际需求为用户分配合适的权限,既能保证数据库的安全,又能满足业务操作的需求。:允许用户查询数据库中的数据。这是最基本的权限之一,没有这个权限,用户无法从数据库中读取任何信息。拥有此权限的用户可以增加数据,但不一定能修改或删除已有的数据。:允许用户修改数据库表中的现有记录。:允许用户修改表结构,如添加、删除或修改列等。:允许用户创建新的数据库、表、视图等结构。:允许用户锁定表,以防止其他用户同时修改数据,保证数据的一致性。:允许用户查看所有线程的状态,包括其他用户的线程。
2025-02-25 16:40:34
298
原创 SpringBoot 项目配置日志输出
springboot 项目的 spring-boot-starter-web 依赖默认使用的是 logback 作为日志框架,所以如果我们就想使用 logback 的话, 就无需额外引入依赖了。我这里 local 环境本地启动需想要将日志输出到文件中,只需要输出到控制台即可,所以 application-local.yml 不用配置上面的代码。
2025-02-20 19:12:35
293
原创 React + TypeScript+ Vite 配置路径别名和vscode智能路径提示
在根目录下的 vite.config.ts 文件中配置如下代码,就可以使用路径别名了。此时可以正常启动项目,并正确使用路由了。但是还是会报警告,所以我们还需要配置 vscode 的智能路径提示配置。
2025-02-17 21:24:04
371
原创 运维中常遇到的一些专业名词解析
同样地,如果你们公司有一些内部开发的npm包,你可以设置一个私有的npm仓库(即公司的制品库),并将这些内部包发布到该仓库,以便团队内的其他成员安装和使用。当你执行mvn install命令时,Maven会自动从中央Maven仓库(这是一个公共的制品库)下载所需的Apache Commons Lang库到你的本地仓库(这也是一个制品库,不过它是本地的)。此外,如果你所在的公司有内部的私有Maven仓库(即公司内部使用的制品库),你可以将自己开发的通用组件发布到这个私有仓库中,供其他团队成员使用。
2025-02-12 10:44:03
294
原创 nginx 配置域名前缀访问 react 项目
由于服务器1已经为 https 的访问方式做了 ssl 证书等相关配置,然后转发到服务器2, 所以在服务器2中不需要再配置 ssl 证书相关的东西了,就和配置 http 的方式一样就行。然后在 App.jsx 文件中的路由配置很重要:这里的 basename 一定要和nginx 配置中的 /xxx 匹配上,否则将加载页面失败。后来才发现我在服务器1中配置了静态资源去掉了前缀 /xxx 访问,所以要在 nginx 配置中处理一下静态资源的访问。不过这样配置是不够的,还需要看看代码中是否是相应的前缀才行。
2025-01-13 20:31:30
376
原创 React中的useMemo 和 useEffect 哪个先执行?
useEffect 后执行:useEffect 是在 提交阶段 执行的,它的作用是处理副作用(如数据获取、DOM 操作等),并且是在 DOM 更新之后才运行。useMemo 先执行:useMemo 是在 渲染阶段 执行的,它的作用是缓存计算结果,确保在渲染过程中可以直接使用缓存的值。在 React 组件的渲染过程中,useMemo 和 useEffect 的执行顺序是不同的。useMemo 在渲染阶段执行:无论它写在 useEffect 上面还是下面,它都会在组件渲染时执行。
2025-01-09 15:50:49
543
原创 maven 项目怎么指定打包后名字
如果你不指定 ,Maven 默认会使用 artifactId 和 version 来生成文件名,例如 myapp-1.0.0.jar。在 Spring Boot 的 Maven 项目中,你可以通过配置 pom.xml 文件来指定打包后的文件名。只指定文件名,不包含文件扩展名(如 .jar),Maven 会自动根据打包类型添加扩展名。配置 finalName 属性:在 标签下,添加 属性来指定打包后的文件名。打开 pom.xml 文件:找到你的项目根目录下的 pom.xml 文件。
2025-01-09 12:17:33
976
原创 Spring Boot AOP日志打印实现
通过这些步骤,你可以轻松地在 Spring Boot 3.1.12 中使用 AOP 实现日志打印,记录前端传入的参数和后端返回的数据。使用 @Around 注解来更灵活地控制方法的执行和日志记录。只记录特定注解标记的方法。
2025-01-02 17:05:16
562
1
原创 高效使用 cursor
在 settings > General > Rules for AI 中设置自定义规则,以后 cursor 生成代码会基于该规则生成;可以参考 cursor list 和 cursor.directory , 里面有非常多的示例提示词。为防止代码被改坏,需要及时将达到效果的代码提交到 git 仓库中。
2025-01-01 15:11:24
1579
原创 cursor 配置 deepseek 后,无法使用 cursor 的 Composer问题
我在充值完 cursor 后,就能正常使用 cursor 的 Composer 功能了,我使用的是模型 claud-3.5-sonnet,可是我今天在 cursor 中配置完 deepseek 后,发现 cursor 的 composer 功能无法使用了,即使我把 deepseek 的配置删除后也无法使用。重新在 cursor 中登录 cursor 账号即可解决。
2025-01-01 14:30:20
7757
3
原创 windows 如何设置软件开机自启
通过快捷键 Ctrl + Shift + Esc 打开任务管理器, 点击 启动 选项,也可以看到 PixPin 已经被设置为了开机自启。按 Win+R 打开 “运行” 对话框,输入 “shell:startup”,然后按回车,打开 “启动” 文件夹。在开始界面输入 “pixpin”,找到该软件的快捷方式,右键单击它,选择 “创建快捷方式”。将新创建的快捷方式拖动或复制粘贴到 “启动” 文件夹中。
2024-12-30 21:40:15
498
原创 如何搭建自己的网站
然后再次在浏览器访问,如果还是无法访问,可能有些云服务器进制未备案的IP访问80端口,这时可以再添加一个规则,开放其他端口,比如开放 9999 端口。如果一开始在宝塔面板填写的网站域名是正确的,那这个时候你就可以直接在浏览器通过域名去访问你的网站了,如果一开始是随便写的,那你就可以点击 添加站点, 再添加上你购买的网站域名即可。安装完后点击 添加站点, 输入域名(如果还没有域名,可以先随便写一个), 以及下面提示 FTP 和 数据库 未安装,可以点击安装一下,以后会用到。在域名管理中输入你的公网IP。
2024-12-26 12:33:09
2737
原创 Centos7 安装 zip 软件失败,更换yum 源方法
这个错误提示表明 yum 在尝试下载 zip 包时从 mirrors.163.com 镜像站点失败了,错误是 HTTP 404,即找不到文件。这通常是因为镜像站点的某些文件或版本不可用或过时。
2024-12-24 18:53:38
730
原创 git部分命令的使用
git checkout – . 或 git restore .: 放弃工作区的所有修改。git reset --hard HEAD: 将代码重置到最后一次提交的状态。注意:这些命令会永久删除未提交的更改,请确保你真的要这么做。git clean -fd: 删除所有未跟踪的文件和目录。如果你想在执行前看看会删除什么。
2024-12-16 15:47:23
546
原创 React 项目引入 svg 图片为 undefined 情况
我使用的 版本是 “webpack”: “^4.41.5”,“react”: “^17.0.2”,下载兼容的@svgr/webpack插件版本。如下面这段代码,发现加载 tools 的时候, Icon 对应的 RotateRight 为 unfined, 但是svg图片的路径是正确的。Webpack 配置或缺少插件,我使用的是自定义 Webpack 配置,发现没有配置 @svgr/webpack 插件。在 Webpack 配置中,配置 @svgr/webpack。
2024-12-16 15:25:38
419
原创 前端项目使用 json-server模拟数据
在命令行终端直接执行 npm server, 将会运行配置在 package.json 的 scripts 中的 json-server --watch db.json --port 4000。到此就能将页面请求以 /api/** 以及 /mock 开头的接口转发到 json-server 中去了。
2024-12-11 14:37:59
511
原创 使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式
这种方式会告诉 Spring Boot 查找 application-local.yml 或 application-local.properties 文件。1.指定路径和文件名:使用 --spring.config.location 或 -Dspring.config.location 指定完整路径。2.仅指定文件名:使用 --spring.config.name 或 -Dspring.config.name 指定文件名。这些方法可以帮助你灵活地在命令行中指定不同的 Spring Boot 配置文件。
2024-12-09 17:38:57
2765
1
原创 docker 部署 mysql 9.0.1
在 MySQL 8.0 和 9.0 版本中,GRANT 语句的语法发生了一些变化,尤其是涉及到用户创建和权限赋予的部分。我们从 dockerhub 仓库中可以看到 mysql 的配置文件在 /etc/mysql/my.cnf。这个错误是因为在 MySQL 9.0.1 中,我们试图在 GRANT 语句中使用 IDENTIFIED BY,而 MySQL 9.0.1 的语法不允许这样做。不过我们已经有 root 用户了,不用去创建新用户了,在 mysql 库 下的 user 表可以查看到已有用户。
2024-12-05 17:58:49
1661
1
原创 docker 的目录挂载的新语法
这条命令会将主机路径 /path-on-host-machine/my.cnf 挂载到容器的 /etc/my.cnf,等效于 --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf。-v 只支持 volume 和 bind 类型的挂载,而且无法像 --mount 那样为挂载指定更多的细节和配置(如只读挂载、挂载选项等)。:–mount 提供了更清晰、灵活的语法,推荐用于复杂的挂载场景,而 -v 是简化语法,适用于简单场景。
2024-12-05 17:39:52
705
原创 使用 Postman 上传二进制类型的图片到后端接口写法
如果在 Postman 中选择了 binary,那么将直接上传文件的二进制数据。可以在 Spring Boot 中通过 @RequestBody 来接收这些二进制数据,并将其保存为文件。Spring Boot 接收这些数据的方式需要使用 @RequestBody 注解来处理原始的二进制数据(byte[])。我使用 postman 传二进制类型图片到后端的时候遇到一个坑,可以参考这篇文章 -那我们的 Java 接口需要怎么写呢?配置文件上传大小(可选)
2024-12-04 21:32:00
967
原创 使用 postman 传递 binary 类型的图片到后端接口遇到的坑
于是我自己添加了一个 Content-Type 这个 header , 覆盖掉默认的,然后可以看到请求的时候携带上了 Content-Type , 但是请求依然失败。然后看到 header 默认就有 Content-Type 这个 header , 但是发送请求的时候没有携带上。再次发送请求,可以看到携带上了 Content-Type, 并且 Content-Length 也有值了。我一开始用 postman 请求是没问题的,但当我复制一个请求出来时,问题就出现如上述所说的错误。
2024-12-04 21:21:03
520
原创 Maven 打包出现问题解决方案
Spring Boot 的 spring-boot-maven-plugin 插件的 repackage 目标需要在构建时指定一个主类(main class),用于创建可执行的 JAR 或 WAR 文件。原因是 因为 common 模块中继承了父模块的打包插件,而 common 模块只是作为一个普通的库使用,它不是一个 springboot 项目。因为 web 中已经使用了 spring-boot-maven-plugin 打包插件,所以直接删除父模块中的打包插件就行。
2024-12-03 17:46:32
934
原创 在 SpringBoot 集成了 Mybatis 的基础上添加 Mybatis-Plus
如果想使用 mybatis-plus 的 代码生成器,可以参考这篇文章 -SpringBoot 集成了 Mybatis 可以参考前一篇文章。到此完成就可以使用 mybatis-plus 的功能了。
2024-12-03 00:29:14
443
原创 Docker 使用 Dockerfile 文件打包部署前端项目
由于 Docker 镜像文件可能比较大,可以将 .tar 文件进行压缩以减少文件大小,便于发送。如果要将打包好的镜像发送给别人,让别人部署,则可以将镜像打成 tar 包,然后将 tar 包发送给别人。
2024-12-02 20:54:33
374
原创 SpringBoot集成 SpringDoc (SpringFox 和 Swagger 的升级版)
然后访问 http://localhost:9090/swagger-ui/index.html 可以看到接口文档了。我的SpringBoot 版本为 3.1.12, 而 SpirngDoc 的版本为 2.7.0。这个错误的原因是我的 SpringBoot 版本和 SpirngDoc 版本不匹配问题。配置 application.yaml 中配置 SpringDoc 相关信息, 参考。降级 SpringDoc 版本到 2.3.0 即可。然后创建 SpringDoc 的配置类。再次启动项目正常了。
2024-12-02 17:46:53
1209
原创 IDEA中更改了项目模块名,IDEA丢失该模块的问题
在 IntelliJ IDEA 中,如果你直接在 Windows 文件夹中更改了 Java 项目的模块名称,IDEA 可能会失去对这些模块的引用和同步,因为它是基于项目的元数据(如 .idea 文件夹和 *.iml 文件)来识别和管理模块的。如果你的项目是一个 Maven 项目,IDEA 会通过 pom.xml 来识别模块。如果更改了模块的文件夹或名称,需要确保 pom.xml 中的模块名称和路径是正确的。如果你更改了模块的文件夹名,但没有更新这些 .iml 文件,IDEA 可能无法找到对应的模块。
2024-11-29 20:56:22
949
原创 webpack 项目访问静态资源
使用 webpack dev serve 启动 react 项目后,发现无法使用 http://localhost:8080/1.png 访问到项目的 /static 目录下的 1.png 文件。发现是 proxy 配置下的 把 访问 / 的路径全部拦截到 /index.html 下了,所以访问不到 /static 目录下的静态资源。
2024-11-28 00:40:13
630
原创 一个关于 CSS Modules 的陷阱
就像我下面这段 antd 的样式就不能开启 CSS Modules , 就算配置了 resolve-url-loader ,样式也会乱掉 或者 和前面一样出问题。但是我全局普通样式容易影响其他组件的样式,所以我需要开启模块化功能,只让当前的 index.less 在引入的文件生效,不影响其他组件样式。这样我以为没问题了,结果发现我要写的那块样式确实生效了,styles 变量起作用了,但是我的项目主页的图片显示不出来了。include 很重要,最好写上要生效的路径。我在引用 less 文件样式的时候,发现。
2024-11-24 20:51:10
551
原创 快速删除 node_modules 目录的集中方法
如果你在 Windows 上或者想要一个跨平台的解决方案,可以使用 rimraf 这个工具,它是 Node.js 版本的 rm -rf。这些方法可以根据你的操作系统来选择,快速有效地删除 node_modules 目录。/q 静默模式,不需要确认。/s 删除目录及其内容。rd 是删除目录命令。
2024-11-20 12:25:34
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人