-dontwarn java.awt.** 无效,还是报错com.alibaba.excel.exception.ExcelGenerateException: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/font/FontRenderContext;
时间: 2024-02-21 19:00:51 浏览: 23
这个错误可能是因为你的项目中缺少了 java.awt 相关的依赖包,可以尝试在项目中添加 awt 相关的依赖,比如可以添加以下依赖:
```
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.java-awt</artifactId>
<version>1.6.2_4</version>
</dependency>
```
如果还是无法解决问题,可以尝试查看一下你的项目中是否有其他的 jar 包与 awt 相关的 jar 包冲突,如果有,可以尝试排除冲突的 jar 包。
相关问题
-dontwarn java.awt.** 如何使用详细教程
您好,使用-proguard混淆时,可以在proguard规则文件中使用-dontwarn指令来忽略一些警告信息。对于您提到的问题,可以按照以下步骤来配置:
1. 在项目的build.gradle文件中添加proguard依赖:
```groovy
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
```
这里将proguard-rules.pro文件作为自定义规则文件引入。
2. 在app模块下创建proguard-rules.pro文件。
3. 在proguard-rules.pro文件中添加以下规则:
```
-dontwarn java.awt.**
```
这里的意思是忽略所有以java.awt开头的类的警告信息。
4. 重新构建项目,即可生效。
需要注意的是,这个方法并不能完全保证easyExcel在Android平台上能够正常运行,因为easyExcel内部可能还有其他与Java AWT相关的类和方法。如果您发现还有其他报错信息或者easyExcel在Android上运行不稳定,可以尝试其他的Excel解析库,比如JExcel、Apache POI等。
com.alibaba.excel.exception.ExcelGenerateException: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
这个异常是由于缺少swing需要的字体配置所导致的。可以检查应用是否有配置-Djava.awt.headless=true,如果没有请加上该系统参数。如果仍然无法解决问题,可以检查服务器是否安装了字体,jdk8字体需要自己安装。可以安装字体:dejavu-sans-fonts 和 fontconfig。在dockerfile中增加字体安装命令:RUN yum install dejavu-sans-fonts fontconfig -y。另外,也可以从代码层面手工设置System.setProperty("java.awt.headless","true")来解决问题。