maven-archetype-plugin使用
导语: 做项目架构时发现公司项目结构不一致导致建项问题多,为了统一使用模版建项,故此使用此maven功能插件
使用总结
在项目 pom.xml 中 添加一下内容 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<propertyFile>archetype.properties</propertyFile>
</configuration>
</plugin>
在项目根目录下新建 archetype.properties 内容如下# 定义模板groupId
archetype. ...
wmware centos7 虚拟机通过宿主机的Clash访问外网
介绍在使用虚拟机的时候,经常拉取不到镜像包,这个时候需要开启代理
开启服务
允许局域网访问使用7890端口来提供网络代理服务。
获取宿主机服务IP
配置代理
直接配置系统代理
cat >> ~/.bashrc << EOF
export https_proxy=http://192.168.0.103:7897
export http_proxy=http://192.168.0.103:7897
export all_proxy=socks5://192.168.0.103:7897
EOF
source ~/.bashrc
使用脚本来实现代理创建脚本 setproxy.sh
#!/bin/bash
# encoding: utf-8
Proxy_IP=192.168.0.103
Proxy_Port=7897
# Set System Proxy
function xyon(){
...
父工程从springboot1.5.x 升级到2.5.15总结.md
包冲突
log4j高版本与框架其他引入的jar可能会产生冲突
如果项目是gradle项目坑巨多 最大的问题是这个springboot2.5.15 不能用gradle4.9进行编译打包,需要使用更高版本进行编译,而更高版本的gradle语法糖很多地方不兼容老版本导致只能遇到一个坑就填一个…
配置写法问题
eureka 配置写法改动老版本eureka.instance.hostname 配置 写法${spring.cloud.client.ipAddress}新版本eureka.instance.hostname 配置 写法 ${spring.cloud.client.ip-address}:${server.port}
配置下划线写法老版本配置中的属性节点可以使用下划线不,不会有报错提示新版本配置中属性节点使用下划线会有报错提示
会废弃配置
废弃hystrix,ribbon等,如需要引用需要单独引入包,springcloud官方bom等父工程并不包含hystrix
mysql 驱动兼容性问题首先看个例子:<select id="TestList" resultType ...
父工程从springboot2.7.18升级到3.4.2总结
包冲突
组织变更导致 javax.xxx 需要改成 jakarta.xxx
mybatisplus 问题 2.1 mybatisplus版本需要升级,本次升级到3.5.9; baomidou的dynamic-datasource换包升级 (dynamic-datasource-spring-boot3-starter)4.3.0
注意原来dynamic-datasource-spring-boot-starter 不支持springboot3.x的版本,使用dynamic-datasource-spring-boot3-starter 2.2 升级后分页插件等class找不到需要单独引入 mybatis-plus-jsqlparser 最低版本3.5.9 2.3 升级后 封装继承AbstractMethod时注意写法需要有构造器,传入methodName参数 2.4 pagehelper-spring-boot-starter 需要升级2.1.1,老版本没兼容分页有问题 2.5 自定义sql注入器中生成的sql ,由于连续参数为null,导致动态sql中有连续空行的情况会报错,这 ...
poi结合模板引擎导出word
前言最近一期需求开发遇到导出一个复杂的word用代码实现巨难受,特意找了个便捷方法实现
依赖<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.10</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.4.0</version>
</dependency>
代码实现pub ...
docker常用镜像运行
ELK 简单搭建docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.1
docker pull docker.elastic.co/logstash/logstash:7.15.1
docker pull docker.elastic.co/kibana/kibana:7.15.1
(也有docker主将 elk 打包成一个镜像 elk,这种方式也简单)
docker run -d —name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -m 2g docker.elastic.co/elasticsearch/elasticsearch:7.15.1
该命令会在后台启动一个名为elasticsearch的容器,并将主机的9200端口映射到容器的9200端口,同时将主机的9300端口映射到容器的9300端口。
docker run -d —name logstash —link elasticsearc ...
Jenkins+Docker 一键自动化部署 SpringBoot 项目(续)
发布项目支持选择git 分支
安装插件Git Parameter
项目构建配置中配置 如下图配置参数
在branches to build 中引用 branch 参数 这样就完成配置了
支持服务项目远程部署
安装插件 Publish over SSH
系统配置中配置Publish over SSH
下图圈起来的位置是 远程服务器登录密码或者是ssh 的key(取决于服务器认证方式)
接着添加ssh servers 信息
项目构建中添加构建步骤 send files or execute commands over ssh
步骤如下配置 选择ssh server 后配置 transfers
其中 sources files 位置为工作空间的相对位置
remove prefix 是去除前缀后的 文件会全部传入远程服务器
remote directory 是与 上面系统配置ssh servers中的remote directory 结合的位置,此位置就是远程服务器存放传输文件的位置
最后一步 配置 exec command,如下图
到此,简单的远 ...
Jenkins+Docker 一键自动化部署 SpringBoot 项目
本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
环境:centos7+git(gitee)
简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。
一、centos安装dockerdocker安装社区版本CE
1.确保 yum 包更新到最新。
yum update
2.卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
3.安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.安装docker
yum ...
docker之mysql主从集群
创建两个docker环境下的mysql1.新建两个my.cnf 分别放在 /home/guji/Volume/mysql5.7_3306/conf , /home/guji/Volume/mysql5.7_3307/conf
分别在两个my.cnf 开启binlog
#注意这个,搭建主从这个ID不能重复
server_id=1
#可以填容器内的可访问日志路径+文件名 例如:/var/log/mysql/mybinlog
log_bin = mysql-bin
# 3种不同的格式可选:mixed,statement,row,默认格式是 statement 推荐使用MIXED
binlog_format = MIXED
# 日志过期(注意mysql8 版本此参数废弃,文章结尾参数里有说明)
expire_logs_days = 30
# 可设置忽略库
# 可设置单独需同步库
更多参数参考最后给出my.cnf配置
运行mysql 容器(注意这里拉取的mysql版本)#master
docker run ...
记录一个webflux的异常问题
问题描述webflux 中发现一个正常接口中远程调用其他第三方接口,会出现系统阻塞假死。请看如下代码:
@PostMapping("/messageList")
public GpResponse<List<IWebSocketMessage>> messageList(@RequestBody @Validated MessageListReqVo reqVo) throws ExecutionException, InterruptedException {
//post 请求本地服务的另一个接口
HttpUtil.post("http://127.0.0.1:8087/messageDetail", "{\"messageId\":12345}");
log.info(" === End ===");
return GpResponse.success();
}
用apifox 压测 例如:循环次数40次,线程数 5次 系统出现接口卡死无法返回的现象
问 ...












