工作学习中遇到的报错问题及解决方法
- 1. 解决Could not create connection to database server报错
- 2.解决java.nio.charset.MalformedInputException: Input length = 1报错
- 3.解决Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class报错
- 4.解决Unregistering JMX-exposed beans on shutdown报错,导致服务启动失败
- 5.解决Error creating bean with name 'requestMappingHandlerMapping',导致服务启动失败报错问题
- 6.解决两数相除商等于0的问题
- 7.解决解析复杂JSON数据结构时出现的问题
- 8.解决linux安装nginx服务器报错的问题
- 9.解决linux安装MongoDB,启动时报错的问题
- 10.解决:redis的get请求报错的问题
1. 解决Could not create connection to database server报错
①.查看pom文件
mysql-connector-java
的版本是否与数据库版本相同;
②.数据库版本查询语句select VERSION() from dual
;
2.解决java.nio.charset.MalformedInputException: Input length = 1报错
①.注意IDEA的设置;
②.Settings --> Encodings --> 将编码格式修改为UTF-8;
③.重新使用Maven,clean一下;
3.解决Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class报错
①.该错误表示没有在应用的配置文件中没有填写数据库配置等相关属性;
②.解决方法是当新项目不需要使用数据库连接时,在启动类注解修改为@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class});
4.解决Unregistering JMX-exposed beans on shutdown报错,导致服务启动失败
①.检查pom.xml 依赖 spring-boot-starter 改为 spring-boot-starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
5.解决Error creating bean with name ‘requestMappingHandlerMapping’,导致服务启动失败报错问题
需要注意Controller类中,路径的问题,例:
错误写法:@GetMapping(value = "/gainVibrationData/${id}/${IncludeMeasurements}")
正确写法:@GetMapping(value = "/gainVibrationData/{id}/{IncludeMeasurements}")
6.解决两数相除商等于0的问题
问题原因:int类型参数,当被除数小于除数 商小于0时,直接进行计算取值, 只会显示 计算结果等于0
小数点之后的数字不会显示
解决方法:先将int类型转换为浮点类型(根据实际需要), 然后再进行除法计算,最后得出结果为正常值
例:
Double samples = Double.valueOf(vibrationDataPojo.getSamples());
Double sampleRate = Double.valueOf(vibrationDataPojo.getSampleRate());
Double match = samples/sampleRate;
7.解决解析复杂JSON数据结构时出现的问题
当接收到的数据是复杂类型时,例:[{},{},{},…,…,{}],需要将它转换为JSON格式并复制到实体类中,
可以使用如下解决方法,需要遍历并强转类型
JSONArray objects = JSON.parseArray(data.body().string());
for (Object object : objects) {
JSONObject jsonObject = (JSONObject) object;
vibrationDataPojo = jsonObject.toJavaObject(GainVibrationDataPojo.class);
}
如果数据是简单类型的,例:{},可以直接使用:
gainTokenPojo = JSON.parseObject(token, GainVibrationTokenPojo.class);
8.解决linux安装nginx服务器报错的问题
报错信息
./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by
using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE
library statically from the source with nginx by using --with-pcre=<path> option.
解决方法:执行安装(yum -y install pcre-devel openssl openssl-devel)
9.解决linux安装MongoDB,启动时报错的问题
报错信息
mongod: error while loading shared libraries: libnetsnmpmibs.so.31: cannot open
shared object file: No such file or directory
解决方法:执行安装(yum install net-snmp)
10.解决:redis的get请求报错的问题
报错信息
Could not read JSON: Illegal character ((CTRL-CHAR, code 0)):
only regular white space (\r, \n, \t) is allowed between tokens
解决方法:在设置key和value的保存时间时,有两个参数必须写全,先写时间数值,再写时间类型;
redisTemplate.opsForValue().set(“key”, value, 24 * 60 * 60, TimeUnit.SECONDS)