Java 程序中 ClassNotFoundException 错误:重启后消失的原因是什么?

java 程序中 classnotfoundexception 错误:重启后消失的原因是什么?

classnotfoundexception 错误:重启程序后消失

java 程序中遭遇了 classnotfoundexception 错误,重启程序后却奇迹般地消失了。令人费解的是,出错的类明明存在且已被导入。

查看错误信息,发现无法找到 com.vcanbuy.web.excel.model.noordercustomersexcel 类。此类用于导出客户数据到 excel 文件。

仔细检查代码,在以下方法中使用了该类:

@GetMapping("no_order_customers")
public void exportNoOrderCustomers(...) {
    ...
    WebUtil.downloadExcel(..., NoOrderCustomersExcel.class);
}

然而,该类所在的 jar 包的位置很诡异——它是被释放到了临时文件夹中。导致的问题是,当服务器重启或进行系统清理时,该 jar 包就会被删除,从而导致 classnotfoundexception。

重启程序后,jar 包又会被创建和加载,因此错误就会消失。然而,一旦 jar 包再次被清除,错误就会再次出现。

解决方案是将 jar 包移动到永久性位置,以确保它始终可供程序访问。

以上就是Java 程序中 ClassNotFoundException 错误:重启后消失的原因是什么?的详细内容,更多请关注其它相关文章!