java:程序包xxxx不存在问题怎么解决

三种情况:

  • 没导入坐标
  • 依赖的模块包编译出错
  • 要么jar下载的时候出问题

第一种自己看代码

第二种,依赖的模块包重新install,自己install一下

第三种解决方法:创建一个.bat文档然后输入以下代码:

1
2
3
4
5
6
REPOSITORY_PATH=[自己maven本地仓库地址]
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (del /s /q %%i
)
rem 搜索完毕
pause

双击打开回车就好了。之后打开idea刷新一下。这个脚本是清除所有下载失败的jar包,之后等jar包下载好就行了。

can not get cluster name in registry config ‘service.vgroupMapping.xx‘, please make sure registry

我的项目是使用了nacos作为seata的配置中心,和注册中心,主要的解决方法就是在nacos配置中心添加一个Data ID为: service.vgroupMapping.xx的文件,内容跟Java程序中的配置保持一致,例如

  • Java程序配置:seata.service.vgroup-mapping.train-group=default
  • nacao创建seata.service.vgroup-mapping.train-group,内容为default

数据库连接异常: HikariPool-1 - Connection is not available, request timed out after 30000ms.

使用jmeter测试并发超卖时发生,数据库并无异常。所以大概是请求量太高导致数据库连接数不够,配置文件增加了hikari连接配置, 默认最大连接数(maximum-pool-size)为10,这里改成了60

spring.datasource.hikari.maximum-pool-size=60

部署

部署seata img

虚拟机CentOS7中启动失败,因为服务器内存小了,办法如下:

1、增加虚拟机内存
2、修改seata-server.sh文件,将-Xms和-Xmx调小

1
JAVA_OPT="${JAVA_OPT} -server -Dloader.path=${LOADER_PATH:="$BASEDIR/lib"} -Xmx${JVM_XMX:="256m"} -Xms${JVM_XMS:="256m"} -Xmn${JVM_XMN:="128m"}

seata运行报错Caused by: java.net.UnknownHostException: sh-cdb-1xjmpo3o.sql.tencentcdb.com(云数据库公网地址)

ping www.baidu.com 无法ping通,但是ping百度的ip地址可以ping通。

DNS没配置好。解决方案:

修改vi /etc/resolv.conf,增加一下内容

1
2
nameserver 114.114.114.114 (电信的DNS)
nameserver 8.8.8.8(googel的DNS)