在 Linux 环境下报错 java.lang.reflect.InvocationTargetException

本文记录了在Linux服务器上实现Excel数据导出功能时遇到的java.lang.reflect.InvocationTargetException异常,详细分析了异常原因并提供了解决方案,即在容器配置中添加-Djava.awt.headless=true参数。

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

今天开发了一个 excel 导出数据的功能,放到 linux 服务器上后发现报错。

捕获到 java.lang.reflect.InvocationTargetException 异常,这个异常不太常见,度娘后了解到。

 

异常原因如下:

在某一个项目 A 中使用了某个 jar 包 x.jar,

而 x.jar 引入了一个类 Y,

应该包含 y.jar 才可以使用 Y 类。

但是 y.jar 没有被包含到工程中,

这时候就会在项目 A 中抛出 InvocationTargetException。

 

原来是加载不到 jar 包而使用了这个 jar 包下面的类。

继续啃源码终于发现找不到 sun.awt.X11FontManager

 

解决办法:容器配置中添加:

-Djava.awt.headless=true

 

类外附一个关于该配置的博客:

http://dikar.iteye.com/blog/1417625

转载于:https://www.cnblogs.com/libra0920/p/5822676.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值