-
CentOS离线安装Docker
客户现场的虚拟机都是离线的,安装docker各种问题,开始直接`yuminstalldocker--downloadonly--downloaddir=/home/soft/update`下载RPM安装,发现安装成功,开始启动提示selinux错误,关闭后发现能够启动服务,但是启动容器就报错。后来发现需要升级系统,好吧,`yumupdate--downloadonly--downloaddir=/home/soft/update`下载升级包,直接使用`createrepo`制作了一个源,后来发现更新还是很多依赖没有。最后才发现客户安装的是桌面版,最后用虚拟机安装了一个桌面版,然后如上操作,终于成功了。##SELinux错误```Jobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusdocker.service"and"journalctl-xe"fordetails.```
CentOS Docker -
SpringBoot2.6.3使用Swagger3启动空指针
前后端分离使用`swagger`把接口信息展示给前端开确实非常方便,`swagger3`的`maven`依赖也只有一个非常方便,然后注解和配置都改了,还可以直接导入`showdoc`里面。但是今天整合到自己的项目的时候发现启动不了,报错:```[rest]2022-03-0509:29:59[main]WARNo.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext-Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.context.ApplicationContextException:Failedtostartbean'documentationPluginsBootstrapper';nestedexceptionisjava.lang.NullPointerException```这里需要修改一下配置,添加注解`@EnableWebMvc`即可。访问地址:`/swagger-ui/index.html`...
SpringBoot Swagger -
MyBatisPlus多数据源配置以及分页
##Mapper路径```#数据源(全局):mysql/mybatis/dao/mapper/mysql/serMapper.xmlcom.acgist.dao.mapper.mysql.UserMapper#数据源:oracle/mybatis/dao/mapper/oracle/OrderMapper.xmlcom.acgist.dao.mapper.oracle.OrderMapper#数据库:mssql/mybatis/dao/mapper/mssql/LogMapper.xmlcom.acgist.dao.mapper.mssql.LogMapper```##数据配置####Oracle```packagecom.acgist.config;importjavax.sql.DataSource;importorg.apache.ibatis.session.SqlSessionFactory;importorg.mybatis.spring.SqlSessionTemplate;importorg.mybatis.spring.annotation.MapperScan;importorg.spri...
MyBatis MyBatisPlus 多数据源 分页 -
MyBatis不能加载XML语句
最近有个项目需要每个不同模块连接不同数据库,所以配置了不同数据源,然后发现Mapper不能绑定XML语句,提示错误:```org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):com.acgist.mapper.UserMapper.findatorg.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:235)atcom.baomidou.mybatisplus.core.override.MybatisMapperMethod.(MybatisMapperMethod.java:50)atcom.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedInvoker$0(MybatisMapperProxy.java:111)atjava.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(...
MyBatis -
activiti7使用SpringBoot自动建表
默认不使用SpringBoot需要通过配置文件``这样建表:```ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();```但是这样不能使用SpringBoot里面的配置比较麻烦,所以改成下面这样。```@AutowiredprivateDataSourcedataSource;@PostConstructpublicvoidpost(){ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration().setDataSource(this.dataSource).setDatabaseSchemaUpdate("true").buildProcessEngine();}```当然我记得是有一个starter可以自动实现的,因为存在配置`database-schema-update:true`。
activiti7 SpringBoot -
Docker常用命令
```#进入JDKdockerrun--nametest--volume=/home/tmp/:/home/tmp/-itopenjdk:8-alpinesh#进入容器dockerexec-itnamesh|bash#常用命令dockerrmnamedockerrmiimagedockerimagedockerpsdockerlogs#注意如果使用实例ID那么导入就会没有name和tagdockersave-oimages.tarname:tagdockerload-iimages.tar```
docker -
Docker加载字体异常
在Linux里面直接使用命令没有问题,但是在docker里面就报异常:```java.io.IOException:Problemreadingfontdata.atjava.awt.Font.createFont0(Font.java:1000)atjava.awt.Font.createFont(Font.java:877)atFonts.main(Fonts.java:12)Exceptioninthread"main"java.lang.NullPointerExceptionatsun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)atsun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)atsun.awt.FontConfiguration.init(FontConfiguration.java:107)atsun.awt.X11FontManager.createFontConfiguration(X11FontManager.ja...
Docker Java -
Docker时间错误
以下配置时间还是错误:```volumes:-/etc/localtime:/etc/localtime:roenvironment:-TimeZone=Asia/Shanghai```修改配置:```environment:-TZ=Asia/Shanghai```OK
docker -
Nginx斜杠艺术
以前没有用过Nginx的路径配置,这才发现原来配置斜杠和不配置斜杠区别这么大:```#Nginx:localhost:80#Tomcat:localhost:8080#访问:http://localhost:80/acgist/api/abclocation/acgist/{proxy_passhttp://localhost:8080/;}#实际Tomcat地址:http://localhost:8080/api/abclocation/acgist{proxy_passhttp://localhost:8080/;}#实际Tomcat地址:http://localhost:8080//api/abclocation/acgist/{proxy_passhttp://localhost:8080;}#实际Tomcat地址:http://localhost:8080/acgist/api/abclocation/acgist{proxy_passhttp://localhost:8080;}#实际Tomcat地址:http://localhost:8080/acgist/api/abclocation/acg...
Nginx -
MyBatis备忘
平时我都使用`JPA`,虽然用过`mybatis`,但是没有搭建过,今天公司项目里面把`JPA`和`mybatis`整合在一起了。`mybatis`不能使用`JPA`的`@column`进行属性映射,但是提供了一个驼峰属性映射:##`mybatis`配置:```mybatis:configuration:#驼峰属性映射map-underscore-to-camel-case:truemapper-locations:-classpath*:mybatis/mapper/**/*.xml#如果没配没有结果pagehelper:params:count=countSqlreasonable:truehelperDialect:mysqlsupportMethodsArguments:true```##查询```finalPageablepageable=PageRequest.of(0,10);//finallongcount=PageHelper.count(()->this.accountMapper.page());finalPageInfopageInfo=PageHelper.startPage(...
MyBatis -
gateway使用feign错误
平时没怎么用过`feign`,今天配置网关调用服务居然提示错误:```feign.codec.DecodeException:Noqualifyingbeanoftype'org.springframework.boot.autoconfigure.http.HttpMessageConverters'available:expectedatleast1beanwhichqualifiesasautowirecandidate.Dependencyannotations:{@org.springframework.beans.factory.annotation.Autowired(required=true)}atfeign.AsyncResponseHandler.decode(AsyncResponseHandler.java:119)atfeign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:87)atfeign.SynchronousMethodHandler.executeAndDecode(SynchronousMe...
Feign -
Java单例异常
Java单例存在循环依赖的情况容易会出现异常,这个情况遇到两次了。所以单例内部尽量不要使用常量,而是使用内部变量。
Java -
Java11运行JavaFX错误
JavaFX使用Java11运行是提示:```错误:缺少JavaFX运行时组件,需要使用该组件来运行此应用程序```原因是Java11的模块化,添加文件`module-info.java`配置JavaFX模块即可。
Java JavaFX -
VUE数组子组件刷新问题
最近做了一个视频通话的功能,之前做的时候是把第一个大屏和后面小屏分成了两段。大屏是第一段,默认使用下标`0`来初始化,小屏就是第二段使用`v-for`来初始化,当然如果只是增加是没有问题的。但是这里有个功能就是需要删除,还有点击小屏时需要切换到大屏,这里就有问题了,删除子组件的状态没有对应上。然后默认大屏我没有使用下标获取,也是用`v-for`但是组件刷新状态全部被重置了。当然上面做法是错误的,后来我全部使用`v-for`来做,通过样式控制大小屏,使用`sort`函数来排序,这样就没问题了。
VUE -
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