-
SpringCloudAlibaba奇怪问题
发现一个奇怪的BUG,如果不指定端口,启动多个服务的时候,Nacos注册中心会出现-1端口。
SpringCloudAlibaba Dubbo -
github使用workflows进行jpackage打包错误
错误:```Error:InvalidOption```一开始我没有看执行的命令,我一直以为是没有安装wix的问题,后来仔细看了一下命令,才发现设置参数的时候错了。window环境设置参数需要这样:```echo"suffix=msi"|Out-File-FilePath$env:GITHUB_ENV-Encodingutf8-Append```由于参数设置错误最后的命令变成了:```--icon--license-file```所以提示这个错误
github jpackage workflows -
Maven使用assembly打包
Maven使用`assembly`通过环境实现统一打包。##上级项目的根目录```${project.parent.basedir}${project.parent.parent.basedir}```这样配置我们可以拿到根项目的路径了,然后就可以统一所有`assembly`配置文件和脚本文件了。##filtering通过这个配置结合配置中心命名空间就可以实现所有的配置分离了```spring:profiles:active:@profile@src/main/resources**/*.yml**/*.propertiestruesrc/main/resources**/*.***/*.yml**/*.properties```>注意:yml和properties使用`@..@`获取Maven变量,而不是`${..}`##skipAssembly通过`assembly`这个配置可以跳过通用模块打包更多详细配置:[https://gitee.com/acgist/muses](https://gitee.com/acgist/muses)
assembly -
nacos不能下线服务
错误提示:```[naming_instance_metadata]didnotfindtheLeadernode```升级新版`nacos-2.0.2`出的这个问题,主要是以前nacos默认使用的是单机版本,现在默认使用的是集群。第一次启动的时候是按照集群初始的配置,所以导致后面修改了单机版本导致出现这个问题,我们可以删除`data/protocol`里面的文件就正常了。
nacos -
常用表达式
##web.xml```/article/article/**.html```##AntURI*`?`匹配任何单个字符*`*`匹配零个或者任意数量字符*`**`匹配零个或者多级目录```/article/?/article/*.html/article/*/list/article/**/list```##SpringScan``````##AspectJ``````##Maven```*/*:匹配一级目录所有文件**/*.*:带有后缀的所有文件**/*:所有文件```
常用表达式 -
JPA自定义查询注解
直接上结果:使用`default`方法,JPA不会默认实现。参考:[https://gitee.com/acgist/muses/blob/dev/boot-parent/boot-data/src/main/java/com/acgist/data/query/TemplateQuery.java](https://gitee.com/acgist/muses/blob/dev/boot-parent/boot-data/src/main/java/com/acgist/data/query/TemplateQuery.java)JPA保存更新非常方便,但是查询真的没有mybatis好用,最近想结合JDK17多行文本来实现类似功能。但是JPA会自动实现Repository接口里面的方法,一直提示:```java.lang.IllegalStateException:FailedtoloadApplicationContextatorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(D...
JPA -
Git修改提交信息
```#修改最近两次gitrebase-iHEAD~2#pick改为editgitcommit--amend--reset-authorgitrebase--continuegitpush--force#指定IDgitrebase-icommitidgitrebase-icommitid~1gitcommit--amend--author="name"--no-editgitrebase--continuegitpush--force```如果修改数据太多或者太过久远使用下面脚本:```#!/bin/shgitfilter-branch--env-filter'OLD_EMAIL="acgist@qq.com"CORRECT_NAME="acgist"CORRECT_EMAIL="289547414@qq.com"if["$GIT_COMMITTER_EMAIL"="$OLD_EMAIL"]thenexportGIT_COMMITTER_NAME="$CORRECT_NAME"exportGIT_COMMITTER_EMAIL="$CORRECT_EMAIL"fiif["$GIT_AUTHOR_EMAIL"=...
Git -
ant vue学习
##下载功能```downloadHistory({ids:'1,2'}).then(resp=>{constblob=newBlob([resp],{type:'application/x-zip-compressed'})constdownloadLink=document.createElement('a')downloadLink.href=window.URL.createObjectURL(blob)downloadLink.download='video.zip'downloadLink.click()window.URL.revokeObjectURL(downloadLink.href)})```##axios下载zip文件打开失败axios下载文件大小不对,而且不能打开,需要添加请求参数`responseType:'blob',`:```returnrequest({url:`${api.history}/download`,method:'get',responseType:'blob',params})```##获取视频信息获取视频封面、时长、高度、宽度```exportfunc...
ant vue axios -
oracle19c docker镜像
```dockerpullregistry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c```##docker-compose```oracle19c:container_name:oracle19cimage:"registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c"restart:alwaysprivileged:trueports:-1521:1521-5500:5500volumes:-/etc/localtime:/etc/localtime-$PWD/oracle19c/oradata:/opt/oracle/oradata```查看日志获取密码:```ORACLEPASSWORDFORSYS,SYSTEMANDPDBADMIN:JKF+Zf3e6YM=1```修改密码```dockerexecoracle19c./setPassword.shoracle```使用NavicatPremium登录sysassysdba需要注意用户名填写sys,然后在高级里面选择角色。>NavicatPremium...
oracle19c docker -
docker导出neo4j
##执行导出```neo4j-admindump--database=neo4j--to=neo4j.dump```提示错误:```Thedatabaseisinuse.Stopdatabase'neo4j'andtryagain.```##停止数据库```stopdatabaseneo4j```提示错误:```Unsupportedadministrationcommand:STOPDATABASEneo4j```##关闭数据库```neo4jstop```还是错误:```Neo4jnotrunning```##解决办法启动命令添加参数`-it`:```//原始命令dockerrun\--nameneo4j-p7474:7474-p7687:7687\--volume=/data/neo4j/data:/data\--volume=/data/neo4j/logs:/logs\-dneo4j:latest//修改命令dockerrun\--nameneo4j-p7474:7474-p7687:7687\--volume=/data/neo4j/data:/data\--volume=/data/neo4j/...
docker neo4j -
SQLServer备份还原注意
新的公司用了好多数据库:es、neo4j、oracle、mysql、mssql。今天备份还原mssql头都被搞大了,还有安装oracle也是,主要是都是用的docker,以前没用过。还原mssql一直提示:```Msg102,Level15,State1,Server9cd172370331,Line1Incorrectsyntaxnear'-'.Msg319,Level15,State1,Server9cd172370331,Line1Incorrectsyntaxnearthekeyword'with'.Ifthisstatementisacommontableexpression,anxmlnamespacesclauseorachangetrackingcontextclause,thepreviousstatementmustbeterminatedwithasemicolon.```搞了很久才发现,数据库恢复数据库名需要用中括号包起来,关键是简单名称又不需要。```//没问题/opt/mssql-tools/bin/sqlcmd-Slocalhost-USA-P'password'-Q"RESTO...
SQLServer MSSQL -
docker删除容器文件没有权限
`docker`删除容器文件提示没有权限:`Permissiondenied`,使用下面命令进入容器:```dockerexec-u0-it容器名称/bin/bash```
docker -
SpringCloudGateway导致Session失效
使用Gateway集成`spring-boot-starter-oauth2-resource-server`会导致Session的Cookie被删除。##解决办法添加配置:```.requestCache().requestCache(NoOpServerRequestCache.getInstance())```
SpringCloud Gateway Session -
HttpURLConnection发送GET自动转为POST
使用HttpURLConnection发送GET请求,如果带有请求体会自动转为POST请求:```privatesynchronizedOutputStreamgetOutputStream0()throwsIOException{...if(method.equals("GET")){method="POST";//Backwardcompatibility}...```
HttpURLConnection -
docker-compose启动没有服务
使用docker-compose启动提示:```ERROR:Nosuchservice:rmqbroker```后来发现配置的服务名称和容器名称不一致,使用ps显示的是容器名称。```service-name:container_name:container-name```
docker docker-compose -
Nacos配置加载顺序
##bootstrap.yml```spring:application:name:demomain:allow-bean-definition-overriding:trueprofiles:active:devcloud:nacos:username:nacospassword:nacosdiscovery:namespace:${spring.profiles.active}server-addr:localhost:8848config:namespace:${spring.profiles.active}file-extension:ymlshared-dataids:a.ymlrefreshable-dataids:b.ymlext-config:-data-id:c.ymlrefresh:true```>通过namespace隔离环境,可以通过group隔离本地开发用户。##Nacos配置```demo.ymldemo-dev.ymla.ymlb.ymlc.ymldemo```##加载顺序```demo-dev.ymldemo.ymldemoc.ymlb.ymla.yml```>优先...
Nacos -
SpringBoot启动不能获取参数
通过命令启动SpringBoot使用`-D`不能正确获取参数,使用`--`却可以,原来`-D`需要在`-jar`之前设置。```#不行java-jarrocketmq-console.jar-Drocketmq.config.namesrvAddr=192.168.1.100:9876#可以java-Drocketmq.config.namesrvAddr=192.168.1.100:9876-jarrocketmq-console.jar#可以java-jarrocketmq-console.jar--rocketmq.config.namesrvAddr=192.168.1.100:9876````-D`是`VMarguments`需要在`-jar`前面,可以通过`System.getProperty()`直接获取。`--`是`Programarguments`参数,由`main`函数`args`传入,需要自己解析。
SpringBoot -
Eclipse安装m2e-apt解决MapStruct编译问题
新公司用MapStruct来处理对象转换,Eclipse需要安装m2e-apt插件才能编译成功。然后修改配置:`Maven->annotationprocessing`
MapStruct m2e-apt -
Spring Oauth2
最近在看SpringOauth2的东西,开始看的非常迷糊,后来才有点点找到门路。先看下现在的SpringOauth2依赖:```spring-security-oauth2spring-cloud-starter-oauth2spring-security-oauth2-clientspring-security-oauth2-resource-serverspring-security-oauth2-authorization-serverspring-boot-starter-oauth2-clientspring-boot-starter-oauth2-resource-server```兄弟们是不是非常乱,`spring-security-oauth2`已经标注废弃。`spring-cloud-starter-oauth2`网上代码基本上都是通过这个实现的,基于`spring-security-oauth2`实现,所以废弃应该是迟早的事情。官方现在推荐使用的应该是`spring-security-oauth2`开头的这些,下面的`spring-boot-starter-oauth2`对应包含上面`sp...
Spring Oauth2 -
SpringBoot、SpringCloud、SpringCloudAlibaba版本
这三个东西就是一环套一环,版本一定要做到统一才能不出现各种奇奇怪怪的BUG。最底层肯定都是Spring的版本,当然都是依赖SpringBoot,所以SpringBoot版本统一就基本上没啥冲突了。[https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies](https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies)[https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies)由于都是后面依赖前面的,所以我们统一版本的时候需要倒着往前推。最新SpringCloudAlibaba是`2021.1`,然...
SpringBoot SpringCloud SpringCloudAlibaba