项目学习过程中遇到的问题记录

本文记录了在Java开发中遇到的一些典型问题及其解决方法,包括:CharSequence 类型未解析错误、Junit4测试报错、Spring配置数据源问题、单元测试编码异常、自定义异常类编译错误以及war包的打包方式。针对这些问题,提供了如更改JDK版本、添加缺失库、修改配置等解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
在这里插入图片描述
当我们的代码出现这个错误时:The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files;就是当你在myeclipse引用了不同版本。

由于我用的Myeclipse 版本为6.5,而JDK的版本是1.8的,因此两者版本不兼容,解决方案将是:
1、将JDK的版本降级成1.6的就可以了。
2、也可以将Myeclipse的版本升级。

二、使用Junit4报下面的错误:
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.sec

解决:缺少jar包hamcrest-core-1.3.jar,添加这个包
junit4.11.jar要和hamcrest-core-1.3.jar一块使用。

三、spring配置数据源问题:
Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type ‘java.lang.String’ to required type ‘javax.sql.DataSource’ for property ‘dataSource’; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource] for property ‘dataSource’: no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:473)
问题:无法将数据源dataSource转换为String字符串,查看数据源配置文件,修改value为ref。
在这里插入图片描述
四、单元测试时报编码异常
1、Unknown initial character set index ‘255’ received from server. Initial client character set can be
解决:在数据库连接后面加上下面语句就可以了。
?useUnicode=true&characterEncoding=utf8

2、Unknown system variable ‘tx_isolation’
解决:mysql的连接包版本太低了,之前用的是5.1的,但是我的mysql数据库是8.0的,因此更换高版本的包mysql-connector-java-8.0.11.jar。

3、“com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0” java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0
解决:jdk换高版本,换成jdk1.8。

五、新建一个自定义异常类时,package上面总是报错,如下:
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
解决:①添加Myeclipse下自带的 jdk libraries
右击project–》properties—》java bulid path----》libraries----》add library----》
②将JDK的版本降低到jdk1.6,但是我的项目不能降低jdk的版本,因此选择第一方案。
在这里插入图片描述
点击Next按钮后,继续下面操作上面问题就解决啦
在这里插入图片描述

六、java项目打成war包的方法
1、通过cmd直接打包,在tomcat目录下面找到对应的项目,执行 jar -cvf 项目名称.war,然后在此目录下将直接生成mycms.war包
在这里插入图片描述

2、通过Eclipse直接导出war包,这个先要在Eclipse中安装导出war包的插件,然后直接导出就可以了

七、后台通过sql直接查询出sum聚合函数求和的数据通过List进行接收后,遍历Object时报类型转换错误,如下:
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
解决方法:将List转成Objec [] arr 数组则不报错了,如下:

List<Object> countList = getCountByType(dropBean.getValue());
Object [] arr = (Object[]) countList.toArray();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值