gpt4 book ai didi

java - 如何在 Apache POI 中避免 java.lang.NoSuchMethodError : org. apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;)

转载 作者:太空狗 更新时间:2023-10-29 23:01:04 27 4
gpt4 key购买 nike

我有一个用于向现有 .doc 文件添加水印的代码。

以下是我目前试过的代码

public static void main(String[] args)
{

try
{
XWPFDocument xDoc = new XWPFDocument(new FileInputStream("test.doc"));
XWPFHeaderFooterPolicy xFooter = new XWPFHeaderFooterPolicy(xDoc);
xFooter.createWatermark("My Watermark");
}
catch(Exception e) {
e.printStackTrace();
}
}

下面是我得到的

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;)V
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:50)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:71)
at com.avi.Test.ReadDoc.main(Watermark.java:38)

最佳答案

我今天遇到这个错误:“java.lang.NoSuchMethodError:org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V]”

它看起来与您的错误不同,但非常相似。仅供引用,我正在使用 Maven 来管理 jar 。经过一些实验,我发现根本原因是poi.jar和poi-ooxml.jar的版本不一致。

这个配置会报错:

    <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.12</version>
</dependency>

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.13</version>
</dependency>

我把poi.jar的版本从3.12改成了3.13

    <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.13</version>
</dependency>

宾果游戏,问题解决了。我希望这对遇到这种异常的人有所帮助。

关于java - 如何在 Apache POI 中避免 java.lang.NoSuchMethodError : org. apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18231134/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com