调用WordDoc生成Word文档时出现Font类相关异常求助
解决
java.lang.ClassNotFoundException: com.lowagie.text.Font错误 这个问题的根源很清晰——你的项目缺少了包含com.lowagie.text.Font类的依赖库,这个类属于旧版本的iText PDF库(iText 2.x及更早版本使用com.lowagie作为包名,后续版本已经将包名迁移到com.itextpdf)。下面是具体的解决步骤:
添加正确的依赖
根据你的项目构建工具,添加对应的依赖:- 如果你用Maven,在
pom.xml中加入:<dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency> - 如果你用Gradle,在
build.gradle的依赖块中加入:implementation 'com.lowagie:itext:2.1.7'
注意:这个版本是旧版iText,如果你的项目中已经引入了新版iText(比如5.x+,包名
com.itextpdf),会出现依赖冲突,需要做下一步处理。- 如果你用Maven,在
排查并解决依赖冲突
有时候项目会同时引入新旧版iText,导致类加载混乱。你可以用以下命令查看依赖树:- Maven:执行
mvn dependency:tree,找到冲突的iText依赖,用<exclusions>标签排除不需要的版本。 - Gradle:执行
./gradlew dependencies,找到冲突的依赖后,用exclude方法排除。
另外,如果你的代码可以兼容新版iText,建议直接修改导入语句为import com.itextpdf.text.Font;,并使用新版iText的依赖(比如com.itextpdf:itextpdf:5.5.13.3),因为旧版iText已经停止维护,存在安全风险。
- Maven:执行
手动导入jar包的情况
如果你是手动管理jar包,确保itext-2.1.7.jar已经放到项目的lib目录下,并且在IDE中标记为"Library"(比如IntelliJ中右键jar包选择Add as Library)。
内容的提问来源于stack exchange,提问作者surbhiGoel
相关产品推荐
相关产品推荐

