异常解决办法更新

jar包下载地址:www.java2s.com/Code/Jar/j/Catalogj.htm

1.java.lang.ClassNotFoundException

:javax.transaction.SystemException 在测试时遇到这个异常java.lang.ClassNotFoundException: javax.transaction.SystemException。

如果不是servlet.jar包。有可能没有导入javax-jta-1.1.0.jar。

2、java.lang.ClassNotFoundException: FilterConfig

添加:
项目-》propertity-》java build path-》add library-》 server library-》tomcat runtime libraries

3、java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误非常容易搞混

NoClassDefFoundError——是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误,这个错误发生只在运行时需要加载对应的类不成功
解决方案:
1、对应的Class在java的classpath中不可用
2、你可能用jar命令运行你的程序,但类并没有在jar文件的manifest文件中的classpath属性中定义
3、可能程序的启动脚本覆盖了原来的classpath环境变量
4、因为NoClassDefFoundError是java.lang.LinkageError的一个子类,所以可能由于程序依赖的原生的类库不可用而导致
5、检查日志文件中是否有java.lang.ExceptionInInitializerError这样的错误,NoClassDefFoundError有可能是由于静态初始化失败导致的
6、如果你工作在J2EE的环境,有多个不同的类加载器,也可能导致NoClassDefFoundError
ClassNotFoundException——是在编译的时候在classpath中找不到对应的类而发生的错误

4、Error creating bean with name ‘dataSource’ defined in file Failed to instantiate

数据库连接池连接失败,检查c3p0配置是否有误或换新的连接池

5、jdbc4.MySQLSyntaxErrorException: Unknown column ‘ssex’ in ‘NEW’ Unknown column ‘???’ in ‘field list’

sql语句有误,检查dao的映射文件中sql是否正确,最后再Mysql中试验语句是否有误,可能是表的问题,重新建表

6、Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.D

连接不到sql,1、配置问题,检查mybatisconfig
2、缺少mysql-connector-java-5.1.7-bin.jar

7、java.sql.SQLException: Unknown system variable ‘tx_isolation’

更新 mysql-connector-java 版本,升级到5.10以上

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.46</version>
</dependency> 

8、Springboot异常:Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 或(‘hibernate.dialect’ not set)

原因是Hibernate SQL方言没有设置导致的,在properties文件中增加下面这行:

spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect

再启动springboot,这次启动成功了;

9、java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long

使用比较新的mysql-connector-java 的jar包。

原来项目的jar包版本是5.1.27会报错,换成5.1.46就ok了:mysql-connector-java-5.1.46

10、端口被占用(java.net.BindException: Address already in use: bind)解决方法

解决方法

在cmd窗口中输入命令–

netstat -ano|findstr 8080 (8080指的是被占用的端口号)

该命令执行完之后,可以得到占用改端口号的进程的pid

然后在cmd窗口中输入命令–

taskkill -pid 上个命令得到的pid -f

11.org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported

此类错误多出现在Controller层,
1、是忘写后面的访问对象,检查全部是否有漏写
2、是@GetMapping 中name和value,有时可以互换,有时只能用name,这里笔者还没搞清楚,如果有问题,可以试试把value换成name

 @DeleteMapping("/productImages/{id}")
    public String delete(@PathVariable("id") int id, HttpServletRequest request) {……}
    
    @GetMapping(value="/admin_category_list")
public String listCategory(){

12、Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory

生成bean时遇到了问题,不能继续下去,检查pojo类的注解是否有缺少或错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值