JAVA
文章平均质量分 56
梁萌
认真是一种态度
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
idea报错找不到XX包的解决方法
【摘要】IDEA环境报错找不到程序包的问题,通过以下步骤成功解决:1)删除并重新SVN拉取后端代码;2)重启电脑;3)配置JDK版本和Maven仓库;4)修复IDEA并执行Maven install;5)清除缓存后项目正常启动。该方案针对IDEA环境配置异常导致的依赖识别问题,通过完整的环境重置和配置修复解决了报错。原创 2026-04-27 15:49:27 · 202 阅读 · 0 评论 -
Java中正则表达式提取PDF内容
摘要:本文介绍了一个基于Apache PDFBox的工具类PdfRegexExtractUtil,用于从PDF文件中通过正则表达式提取特定字段的数值。该工具类通过解析PDF文本内容,使用正则表达式匹配字段名和对应的数值,支持正负数、千位分隔符和小数点后2位的数值格式。实现逻辑包括PDF文本提取、正则匹配和数值格式化处理,并提供了完善的日志记录和异常处理。调用时只需传入PDF文档、字段名称和标签即可获取对应数值,适用于财务报告等结构化PDF文档的数据提取场景。原创 2026-01-14 07:56:19 · 153 阅读 · 0 评论 -
idea使用AI插件(CodeGeeX)
CodeGeeX是一款基于智谱GLM模型的智能插件,支持问答和代码编写功能。它能自动生成代码注解,通过点击图标即可为提交的代码创建注解信息。插件还提供Java方法前的操作菜单,支持多种快捷操作。安装方式简单,只需在IDEA插件市场搜索"CodeGeeX"并安装即可。该工具能有效提升开发效率,简化代码文档工作。原创 2025-12-22 15:37:40 · 2118 阅读 · 0 评论 -
WebService与WebAPI的调用到底有什么区别
本文对比了WebService和WebAPI两种接口的调用方式。通过Java代码示例展示了两种接口获取token的实现:WebAPI使用JSON格式和RestTemplate发送请求,而WebService采用XML格式的SOAP协议。主要区别包括:WebService强制使用XML和POST方法,动作写在SOAP节点中;WebAPI主流使用JSON,支持多种HTTP方法,通过HTTP方法和路径表达动作。两种接口在消息格式、HTTP方法和内容类型上存在明显差异。原创 2025-12-04 22:47:04 · 214 阅读 · 0 评论 -
spring boot配置文件中配置项加解密
本文介绍了使用Jasypt加密Spring Boot配置文件的方法,以保护敏感信息安全。主要内容包括:1) 引入jasypt-spring-boot-starter依赖;2) 编写测试类生成加密字符串,提供加密解密方法;3) 在开发环境配置文件中设置加密密钥;4) 将加密内容用ENC()包裹后放入生产环境配置文件;5) 部署时通过JVM参数或环境变量传递解密密钥。这种方法有效防止配置文件泄露导致的安全风险,同时保持系统的正常运行。原创 2025-11-27 09:41:59 · 383 阅读 · 0 评论 -
Java实现sm4加解密
摘要:本文实现了一个基于国密SM4算法的加密解密服务ApiEncryptService,包含加密(encrypt)和解密(decrypt)两个核心方法。实现类ApiEncryptServiceSmImpl采用SM4对称加密,密钥要求为16字节字符串,通过配置文件注入。加密流程先进行SM4处理再Base64编码,解密则反向操作。代码整合了BouncyCastle安全提供者,并提供了16进制转换工具方法。使用时只需注入服务并调用对应方法即可完成数据加密传输。原创 2025-11-17 15:46:02 · 934 阅读 · 0 评论 -
SonarQube自定义代码检验规则保姆级教程
自定义校验规则,其实就是需要自己写校验的代码,然后把写好的代码进行打包,最后生成一个jar包,把jar包放到已经部署好的SonarQube的插件目录下面。重启SonarQube,就可以在SonarQube中看到自定义的规则,再将自定义的规则进行激活,就可以针对自定义规则进行代码扫描,整个过程是这样的一个步骤。添加规则定义:名称、描述、严重程度、修复建议等,SonarQube 需要知道这个规则的存在。原创 2025-10-24 12:25:16 · 1752 阅读 · 0 评论 -
若依AI平台
若依AI是一个开源的AI助手开发框架,提供系统管理、智能问答等基础功能,包含客户端和管理端,支持二次开发。项目由创始人维护,官网提供详细文档,源码托管在Gitee平台,包含后端、管理端和用户端代码库,并附有完整的本地部署教程。开发者可通过官网和CSDN博客获取更多技术支持和更新信息。原创 2025-10-17 14:11:29 · 745 阅读 · 0 评论 -
记一次线上应用无法访问的解决过程
摘要:某Java Web应用在安全扫描后崩溃,分析发现扫描工具发送了大量异常请求,导致系统资源耗尽。根本原因是过滤器处理无效URL时抛出MalformedURLException异常。解决方案包括:1)优化异常请求处理,直接返回空值;2)在过滤器中添加请求频率限制功能,通过IP+时间戳统计请求次数,定期清理过期数据,防止恶意请求压垮系统。该方案通过双Map结构分别记录正常/恶意请求,并设置不同阈值进行流量控制。原创 2025-10-10 15:15:16 · 259 阅读 · 0 评论 -
java实现移动云mas短信发送
本文介绍了基于移动云MAS平台的短信发送功能实现。主要内容包括: YAML配置项,包含普通短信和模板短信的接口地址、企业名称、API密钥等参数 MobileCloudSmsUtil工具类,实现两种短信发送方法: sendOrdinarySms():发送普通短信,使用MD5加密生成MAC校验码 sendTemplateSms():发送模板短信,支持参数化内容 PhoneMessageController控制器,提供两个REST API: /phone/sendPhoneMessages:发送普通短信 /pho原创 2025-09-29 08:49:20 · 760 阅读 · 1 评论 -
java实现邮件发送
摘要:本文介绍了使用Spring Boot框架实现邮件发送功能。首先配置pom.xml引入spring-boot-starter-mail依赖,然后在yaml中配置SMTP服务器参数(包括SSL加密设置)。核心MailService类封装了邮件发送逻辑,支持HTML内容、附件和多收件人功能。测试类emailSendTest演示了如何调用MailService发送简单文本邮件,包含主题、内容和收件人设置。文章提供了完整的代码示例,涵盖从依赖配置到实际发送的完整流程,适合需要集成邮件功能的Spring Boot原创 2025-09-28 09:28:56 · 326 阅读 · 0 评论 -
SonarQube代码质量管理平台本地化搭建和使用
本文介绍了SonarQube代码质量检查平台的搭建与使用流程。主要内容包括:1)SonarQube服务安装与汉化配置;2)PostgreSQL数据库安装及用户创建;3)SonarScanner扫描器的安装与环境配置;4)以Java项目为例,详细说明扫描配置文件的编写和扫描执行过程,最后在SonarQube平台查看扫描结果。通过这四部分内容,完整搭建了SonarQube代码质量检查系统,并实现了对项目的扫描分析。原创 2025-09-13 16:45:31 · 2031 阅读 · 0 评论 -
代码检查工具PMD、JArchitect、Checkstyle
本文对比评测了三款Java代码检查工具:PMD、JArchitect和Checkstyle。PMD是一款开源静态分析工具,可集成到IDEA中,但输出为英文;JArchitect是独立付费软件,功能强大但资料匮乏,不推荐使用;Checkstyle作为开源工具,支持中文输出和自定义规则,集成IDEA使用方便,被强烈推荐。文章详细记录了各工具的安装配置步骤,并提供了两个Checkstyle自定义规则的XML配置示例,涵盖代码格式、注释规范、命名约定等检查项。实际体验表明,Checkstyle在易用性、本地化和灵活原创 2025-09-13 11:30:01 · 1279 阅读 · 0 评论 -
前后端分离项目的完整部署(人工部署)
本文介绍了基于VUE3+Vite前端和SpringBoot3后端的完整项目部署流程。首先在开发环境安装JDK17和Maven3.8.3进行打包,前端使用npm build生成dist目录,后端通过Maven打包成jar文件。然后将打包产物上传至Windows服务器,配置Nginx反向代理(监听8888端口),设置前端静态资源路径和后端API路由转发。最后通过WinSW将后端jar服务化运行,避免命令行窗口关闭导致服务停止。部署完成后,用户可通过8888端口访问系统。原创 2025-07-06 12:03:42 · 2300 阅读 · 0 评论 -
01Spring Security框架
表单认证速度更快,效率更高,因为只在第一次请求时根据用户名和密码进行验证,第一次验证通过,服务器端会生成sessionID,sessionID会保存到浏览器的cookie,后续的请求会从cookie中取出sessionID,将sessionID发送给服务器,服务器拿到sessionID后判断sessionID是否存在,存在即有效请求。针对这些安全性问题,开。基础认证模式,在服务器端不保留信息,不使用cookie,没有会话或注销用户的概念,每个请求都必须携带Request Header才能进行身份验证。原创 2025-03-16 11:39:45 · 912 阅读 · 0 评论 -
搭建Spring Boot Admin监控系统
是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个用户友好的 Web 界面,用于集中管理和监控多个 Spring Boot 应用程序的运行状态、健康状况、日志、配置等信息。Spring Boot Admin 的核心功能应用监控实时监控 Spring Boot 应用程序的健康状态(UPDOWN等)。显示应用程序的详细信息,如内存使用、线程状态、垃圾回收等。日志管理查看应用程序的日志文件。支持动态调整日志级别(如DEBUGINFOWARNERROR配置管理。原创 2025-03-15 17:17:13 · 1121 阅读 · 0 评论 -
cursor中运行和调试Java代码
使用cursor运行Java项目,并在cursor中进行代码调试。进行一个介绍:初始项目是用idea已经搭建好的,可以正常运行的项目。原创 2025-03-08 12:55:05 · 11318 阅读 · 0 评论 -
记一次线上Tomcat服务内存溢出的问题处理
推测程序应该是在执行这个定时任务的过程中出现了问题,开始逐步调试这个任务的代码,这个任务的主要工作是把本地的文件转成pdf格式的文件,然后调用第三方接口,把pdf文件传输给对方。通过代码调试,发现程序走到这个方法的时候,进程会卡死在这里,不会继续往下走,即使等待了很久也不会继续执行代码,基本上定位到问题发生的地方了。一开始通过重启Tomcat解决这个问题,后来隔一段时间就会出现这种情况,发现不对劲,此时意识到问题的严重性。发现有个定时任务的日志,只有开始日志,没有看到结束的日志。原创 2025-02-26 22:30:13 · 1005 阅读 · 0 评论 -
Java使用Easy Excel对Excel进行操作
Easy Excel使用教程API:读Excel | Easy Excel 官网使用代码示例:需要自行创建一个Maven项目,然后pom文件中需要的依赖如下:准备好待读取的Excel文件注意,表头字段名称需要与读写对象(DemoData.java)中的ExcelProperty属性值一致,否则会导致读不到数据。读取文件的示例代码:执行结果:将数据写入到Excel文件中,准备好一个没有数据,但有表头字段Excel文件将程序读取到的数据写入到Excel中:执行结果:10条数据被写入到了E原创 2024-08-21 15:29:39 · 1025 阅读 · 0 评论 -
tomcat配置请求的最大参数个数和请求数据大小
maxPostSize:单个请求最大数据大小,10485760=10M;maxParameterCount:单个请求最大请求参数个数;原创 2024-06-06 20:10:47 · 1025 阅读 · 0 评论 -
Java调用WebServices接口
当拿到一个WebServices接口时,首先用接口测试工具调用一下接口,看是否可以正常发送请求和获取返回接口,确保接口是没有问题的,可以用SoapUI工具进行测试。打开SoapUI,点击SOAP,在弹出的新建页面输入接口地址,在地址后面拼接上?下面以一个免费的天气预报接口为例,记录整个接口的调用过程。以上就是用SoapUI工具进行接口测试的使用说明。点击绿色剪箭头,就可以在右侧看到接口的返回结果。会看到在左侧地方显示该接口可以调用的每个方法。成功通过Java程序获取到了接口的返回信息。原创 2024-04-14 14:11:53 · 1020 阅读 · 0 评论 -
删除Maven仓库中.lastUpdated文件
REPOSITORY_PATH的值为maven本地仓库repository目录。上一次 maven 下载这个包时失败,会遗留下来.lastUpdated文件。双击执行即可,就会将仓库中的lastUpdated文件进行删除操作。将以上内容放到TXT中,然后将文件格式命名为bat。删除.lastUpdated可以使。用下面的bat脚本进行处理。原创 2024-03-19 09:44:03 · 1820 阅读 · 0 评论 -
jwt+redis实现登录认证
上面代码是自定义的登录拦截器,在请求到来后,控制器方法执行前,会进入到拦截器的preHandle方法中,在这个方法里面,或获取到请求头中的Authorization属性值,也就是jwt的值,然后再获取到redis中的值,redis中key和values是相同的,都是jwt字符串的内容,所以这里是用jwt的值作为key去获取value,如果value有值则说明该请求是可以放行的(已经登录过),否则拦截请求,返回响应码401。这样原来的jwt就失效了,无法使用原来的jwt进行登录认证。JwtUtil工具类。原创 2024-02-17 16:22:41 · 2390 阅读 · 0 评论 -
SpringBoot跨域问题解决
根据资料显示,这个是因为浏览器预检请求失败,复杂请求会做预检请求,比如header中有自动以的属性等情况,当前的报错是指OPTION 请求失败,需要后端放行 OPTION 请求。经过一番百度之后,需要在控制器上添加处理跨域的注解,前端访问后台接口时,浏览器报错,跨域无法访问。然后将拦截器注册到全局拦截器中,使其生效。再次访问接口,请求正常返回了。原创 2024-01-20 22:04:33 · 9845 阅读 · 1 评论 -
springBoot项目打包发布
要想发布,首先要有jre环境,也就是要安装jdk,jdk安装完毕,就可以使用命令对jar文件运行。当控制台输入编译完成时,打包就结束了,在target目录下,找到生成的jar包文件。在jar包所在的目录下,新增配置文件application.yml。注意:当关闭这个命令窗口时,服务自动就被关闭了,程序无法访问。加载完插件后,点击package,进行编译打包操作。比如要修改端口,把代码中配置的8080改为8081。可以看到端口为7777,用的就是环境变量中的值。以上四种修改配置的方式,优先级是从高到低的。原创 2024-01-17 17:05:31 · 1334 阅读 · 0 评论 -
java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract
根本原因是 ojdbc6 不支持将日期转换为 java8的LocalData,所以将LocalData换成 Date 就行。spring boot版本:3.0.3。oracle驱动版本:ojdbc6。mybatis版本:3.0.3。oracle数据库版本:11g。再次运行程序,不报错了。原创 2024-01-14 16:35:33 · 1201 阅读 · 0 评论 -
java maven项目添加oracle jdbc的依赖
一般添加依赖是直接在pom.xml中添加配置即可,Maven会自动获取对应的jar包,但是oracle驱动依赖添加后会显示红色,代表找不到依赖项,是因为Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。需要注意的是 -Dfile后面的值,是自己电脑上第一步oracle的文件路径。2.cmd窗口,执行安装命令。原创 2023-12-31 19:06:42 · 2889 阅读 · 0 评论 -
idea构建maven项目报错的解决
解决方法就是在阿里云的网站上找存在的依赖版本,把pom.xml文件中的版本号更换为阿里云上有的版本即可。在里面找自己需要的版本,把对应的版本号填写到pom.xml文件对应的位置,在更新maven依赖即可。通过查询资料,发现是阿里云的maven仓库中没有这个版本的jar包,导入无法引用到对应的依赖。使用idea创建了一个新的spring项目,maven配置完毕后,报错,引用的依赖不存在。2.找自己需要的包,我需要的是如下图所示的包,根据包的名称去找对应的文件夹。最后找到了对应的文件夹。原创 2023-12-31 16:58:12 · 932 阅读 · 0 评论 -
java项目log4j2单独为某个类配置日志文件
在项目中,一般都是把日志记录到一个日志文件中。对应的log4j2.xml内容如下图所示:只有一个RollingFile节点,整个系统只会生成一个log日志文件。原创 2023-10-05 23:46:48 · 2379 阅读 · 1 评论 -
tomcat版本升级操作说明
Tomcat版本的升级可能会带来某些未知的问题发生,可能导致原来正常的功能无法使用等情况。在必须升级的情况下,可以升级到当前Tomcat版本对应的最新小版本,例如当前Tomcat版本为8.5.67,可以升级到最新小版本8.5.92(最新的小版本可以去Tomcat官网查询和下载)下载完成后,关闭Tomcat服务,替换原来Tomcat文件夹下面的bin和lib目录中的文件,然后启动Tomcat服务。安全扫描软件,可能会报这样的漏洞提示,需要升级Tomcat版本。原创 2023-08-20 13:38:17 · 5854 阅读 · 0 评论 -
windows系统Java运行环境部署
这时候Tomcat服务就已经启动了,同时启动类型已经改为自动。如果是服务器安装,根据网络管理员开通的服务器端口进行配置。jdk安装完成,配置环境变量。双击Tomcat的安装程序。双击jdk的安装程序。原创 2023-01-10 21:36:40 · 658 阅读 · 0 评论 -
记liunx服务器java程序无法访问的问题处理
在3点半出现了OOM(内存溢出),linux系统自动将占用内存最大的进程(此处为java)停止,这时候java程序就不能访问了。通过日志查看,在凌晨3点半之后就没有再打印信息了,说明大概在这个点程序已经挂了。这时候可以考虑扩增内存容量。空闲内存仅有992M。原创 2022-12-01 17:38:11 · 1913 阅读 · 0 评论 -
把xshell连接服务器关掉,运行的jar包就自动停止的解决方案
使用Xshell连接服务器时,启动项目之后,可以正常运行,一旦将Xshell关闭,项目就会自动关闭。说明Xshell终端对项目产生了一定的影响,需要换一种项目启动方式。解决方式原来的启动方式:1.窗口被锁定,可按CTRL + C打断程序运行,关闭窗口程序停止运行2.窗口不被锁定,关闭窗口时,程序停止运行修改后的启动方式:1.nohup 意思是不挂断运行,当账户退出或终端关闭时,程序仍然运行,日志内容默认存入nohup.out 文件内......原创 2022-07-02 08:37:33 · 4108 阅读 · 0 评论 -
windows系统启动tomcat服务的三种方式
1.双击执行tomcat/bin目录下的startup.bat文件,会自动显示一个命令行窗口(关闭窗口,服务会停止),不推荐此方法,会严重影响系统访问速度。 2.将tomcat以服务的形式安装,然后在服务管理中,启动tomcat服务。3.利用Windows的任务计划程序库,创建一个任务,让计算机开机自动执行tomcat/bin目录下的startup.bat文件,这种方式不会显示命令行窗口。 推荐使用方式二或方式三启动tomcat,这两种方式都可以设置开机自启。......原创 2022-06-29 08:49:09 · 21247 阅读 · 1 评论 -
Tomcat配置SSL证书实现https(内网ip访问)
在Tomcat的bin目录下打开命令窗口(以下操作均在服务器上完成)1.制作服务器端秘钥库在命令窗口中输入下面命令:keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 -ext SAN=dns:localhost,ip:XXX.XXX.XXX.XXXip地址填写服务器的ip。2.制作客户端秘钥库在命令窗口中输入下面命令:keytoo原创 2022-04-04 09:54:35 · 9893 阅读 · 2 评论 -
IDEA从私服下载的jar包不是最新的问题
如果私服上的jar包有更新,idea通过maven加载jar包时首先从本地仓库中查找,如果本地仓库有对应jar包,就不会再去私服中加载最新的jar包,针对这个情况,可以手动将本地仓库的jar包清除。将下面路径下的文件清除,再次加载maven,就会去加载最新的jar包。...原创 2021-12-10 15:40:08 · 1723 阅读 · 0 评论
分享