我的项目使用的是较旧的(经lgpl许可的) iText,但它停止了工作。我已经恢复了最后一次提交,但它没有帮助。错误是:
java.lang.NoSuchMethodError: 'int[] com.lowagie.text.pdf.BaseFont.getCharBBox(char)'
我浏览了反编译的文件,找到了那些(缺失的)方法……我真的不知道发生了什么。
这是我的pom.xml:
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.0</version>
</dependency>
是的,有两个itext依赖项。但我不得不说两天前这是有效的..。
旧的iText有没有什么变化破坏了它?
发布于 2021-10-25 15:51:52
你几乎自己回答了这个问题:
是的,有两个itext依赖项。
休战是您添加了三次iText !
将iText作为依赖项三次是没有意义的。如果您使用的是com.lowagie
iText,则删除其他代码,您的pom.xml应该如下所示:
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
如果您想使用较新的iText,请使用openPDF。
https://stackoverflow.com/questions/69555674
复制相似问题