Maven打包时报错:不支持发行版本21的解决 以及自用程序测试时的相关辅助命令保存

一、在IDEA工具中使用Maven打包报错 错误:不支持发行版本 21

        在IDEA工具中对一个基于 spring-boot-starter-parent 3.4.10 版本的JAVA项目进行打包时遇到报错,错误:不支持发行版本 21。我在百度中搜索问题发现找到我以前写的这篇文章,但彼时的问题并不和今天的一样,链接如下:

https://linge.blog.csdn.net/weixin_47792780/article/details/143354448https://linge.blog.csdn.net/weixin_47792780/article/details/143354448        今天的问题更是诡异,因为在出现此报错的同时我看各种设置项都没有异常,基本情况如下:

  • 我在本地能正常运行起来项目,并不会报错:不支持发行版本 21。
  • 我检查项目结构、pom.xml配置、JAVA编译器等全部的地方设置版本都是21,没有问题。
  • 在我进行各种检查都正常无误仍无解后,我将上面所有地方的版本切换为 17版本,进行运行、打包却都正常。

        通过第3项可以发现我第2项中设置中并没有遗漏任何要修改的地方,否则 17 版本不可能能正常运行,但为什么切为21版本却不行?也未报哪个模块不支持这个版本,即并不是和上次那样因为某个模块不支持21版本导致,想来想去,看来看去,怀疑会不会是版本上的差异?

        我使用17版本时使用的是 Amazon Corretto 17.0.13,但使用21 版本时用的是 Openjdk-21 java version 21.0.2。难道是 open jdk和 amazon 版本之间的差异,于是我下载了 Amazon Corretto 的21版本,如下图中的 21.0.8 即为新下载的版本,下载完成后把所有版本都切换为这个 amazon 21版,竟然运行成功了。

        解决问题之后,我没有再进行验证,是 openjdk 和 amazon 版本之间的差异导致?还是JAVA 21.0.2和 21.0.8 的版本差异导致?但通过此现象可以给你一个提示就是当各种问题出现的可能原因都排除后可以更换一下同一个版本的不同发行商来尝试解决。

二、程序测试时的相关辅助命令保存

        之前进行一些功能测试时使用的一些命令,放在这里保存一下。

1. 压力测试 :

root@med-1:~# ab -n 1000 -c 100 -p post1.txt -T application/json http://13.123.17.26:8001/api/v1/cmdpc/exec/wait
root@med-1:~# ab -n 100 -c 10 -p post1.txt -T application/json http://13.123.17.26:8002/api/v1/up/pc/abnormal
root@med-1:~# ab -n 100 -c 10 http://13.123.17.26:8001/docs/swagger-ui-bundle.js
ab -n 10000 -c 100 -p post1.txt -T application/json http://13.123.17.26:8001/api/v1/cmdpc/exec/wait
ab -n 1000 -c 10 -p post1.txt -T application/json http://13.123.17.26:8001/api/v1/cmdpc/exec/wait  

root@med-1:~# ab -n 1000 -c 10 http://13.123.17.26:8001/api/v1/cmdpc/exec/test-no-db
#无数据库操作达到:1500    之后:Requests per second:    3563.70 [#/sec] (mean)

root@med-1:~# ab -n 1000 -c 10 http://13.123.17.26:8001/api/v1/cmdpc/exec/test-has-db
#数据库读达到1300  之后: Requests per second:    2443.36 [#/sec] (mean)

root@med-1:~# ab -n 1000 -c 10 http://13.123.17.26:8001/api/v1/cmdpc/exec/test-db-write
#数据库读+写:Requests per second:    24.88 [#/sec] (mean)

#从30左右  增长到 80左右。 Requests per second:    75.46 [#/sec] (mean)

2. 登录接口的压力测试

#压测登录接口:
ab -n 10000 -c 1000  -p post.txt -T application/json http://10.18.20.24/api_admin/v1/auth/login/access-token 

#压测用户详情接口:
ab -n 10000 -c 1000  -p post-user.txt  -T application/json  -H 'x-token: MTYyMjExMTU5MS4zMTY0ODMzfDUxNWIzZjU2NzlhMjViY2Q2ZDQyZWMxNGE3OWY1NTg2NmRmOTNkYzg='  http://10.18.20.24/api_admin/v1/users/detail

1:查询token
2021-05-25 03:01:00,930 |INFO| sqlhelper.py 166 [sql]:SELECT id,username,password,token,name,avatar,role_id,grp_id,state_id,phone,email,status,del_flag FROM m01_user WHERE token = %s limit 1 [param]:['MTYyMjExMTU5MS4zMTY0ODMzfDUxNWIzZjU2NzlhMjViY2Q2ZDQyZWMxNGE3OWY1NTg2NmRmOTNkYzg=']

2:查询目标用户
2021-05-25 03:01:00,931 |INFO| sqlhelper.py 166 [sql]:SELECT id,username,password,token,name,avatar,role_id,grp_id,state_id,phone,email,status,del_flag FROM m01_user WHERE id = %s [param]:1

3:查询用户组织机构
2021-05-25 03:01:00,931 |INFO| sqlhelper.py 166 [sql]:SELECT * FROM c01_group WHERE id = %s [param]:3

4:查询用户状态
2021-05-25 03:01:00,931 |INFO| sqlhelper.py 166 [sql]:SELECT * FROM c02_user_state WHERE id = %s [param]:2

5:查询用户角色
2021-05-25 03:01:00,932 |INFO| sqlhelper.py 166 [sql]:SELECT * FROM c05_role WHERE id = %s [param]:9

6:记录操作记录
#持续压测
*/1 * * * * ab -n 30000 -c 2000  -p /root/yccs/test/post-user.txt  -T application/json  -H 'x-token: MTYyMjExMTU5MS4zMTY0ODMzfDUxNWIzZjU2NzlhMjViY2Q2ZDQyZWMxNGE3OWY1NTg2NmRmOTNkYzg='  http:
//10.18.230.204/api_admin/v1/users/detail >> /root/yccs/test/ab.log 2>&1


#压测后台用户详情接口:
ab -n 10000 -c 1000  -p post-user.txt  -T application/json  -H 'x-token: MTYyMzIwMTY5MC4wNzAyNzN8YzNiZDM4MWNmZWZjZmM3MzQ3Mzg1OGUwZTcxODJiOTRhZTk3MmQ1Ng=='  http://13.123.17.26:9012/api_admin/v1/users/detail
INSERT INTO d07_user_record SET uid = 5 ,PATH = '/api/v1/messages/latest-contacts' ,module = 'test' ,ACTION = 'AA'  ,ip = '219.147.31.2' ,detail = '219.147.31.2'

#线上MYSQL压测测试===================
set @st = REPLACE(unix_timestamp(current_timestamp(3)),'.',''); 
INSERT INTO user_record SET uid = 5 ,PATH = '/api/v1/messages/latest-contacts' ,module = 'test' ,ACTION = 'AA'  ,ip = '219.147.31.2' ,detail = '219.147.31.2';
set @en = REPLACE(unix_timestamp(current_timestamp(3)),'.',''); 
select round((@en - @st)/3000,3) as avg_time;

3. 快捷命令

#linux服务器快捷命令:

#重启python容器:
    docker exec -it  server_8002  /bin/bash -c 'kill -HUP `cat /tmp/gunicorn.pid`'
    docker exec -it  server_8001  /bin/bash -c 'kill -HUP `cat /tmp/gunicorn.pid`'

#执行MQTT请求:
    curl -i --basic -u admin:public -X GET "http://192.168.10.18:8081/api/v4/topic-metrics
    curl -i --basic -u admin:public -X GET "http://192.168.10.18:8081/api/v4/clients"
    curl -i --basic -u admin:public -X GET "http://192.168.10.18:8081/api/v4/subscriptions"

#重启nginx容器:
docker exec -it   容器    /bin/bash  service nginx  reload  

#云服务器上查看已经启动的服务:
systemctl| grep -E "redis|mysql|minio|emq"

#查看线上数据库行数:
SELECT table_name,table_rows,DATA_LENGTH/1024/1024 "DATA_LENGTH",CREATE_TIME,TABLE_COLLATION FROM information_schema.tables WHERE TABLE_SCHEMA = 'ipms' ORDER BY table_rows DESC;

4.服务器端日志分析:

提取日志:docker logs 5422768341e0 | grep ^2021-08-16 | grep "/api/v1/" > 0816.log

统计响应请求:awk '{print $14}' 0816.log | sort -n | uniq -c
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青岛IT音悦人.林戈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值