首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试用ApachePOI打开Excel

尝试用ApachePOI打开Excel
EN

Stack Overflow用户
提问于 2020-04-26 17:47:16
回答 1查看 73关注 0票数 0

我在尝试读取Excel时遇到以下错误。使用ApachePOI打开excel工作簿。将Serenity与Cucumber框架结合使用,并执行命令"mvn clean verify“来运行测试。没有Main方法就不能使用ApachePOI吗?当我将这段代码包含在Main方法中时,它工作得很好。

代码语言:javascript
复制
    null
net.thucydides.core.reports.ReportGenerationFailedError: Failed to generate configuration report
        at net.thucydides.core.reports.ReportService.waitForReportGenerationToFinish(ReportService.java:204)
        at net.thucydides.core.reports.ReportService.generateReportsFor(ReportService.java:181)
        at net.thucydides.core.reports.ReportService.generateReportsFor(ReportService.java:127)
        at io.cucumber.core.plugin.SerenityReporter.generateReports(SerenityReporter.java:937)
        at io.cucumber.core.plugin.SerenityReporter.handleTestRunFinished(SerenityReporter.java:323)
        at io.cucumber.core.eventbus.AbstractEventPublisher.send(AbstractEventPublisher.java:45)
        at io.cucumber.core.eventbus.AbstractEventBus.send(AbstractEventBus.java:9)
        at io.cucumber.junit.CucumberSerenityRunner$RunCucumber.evaluate(CucumberSerenityRunner.java:255)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:405)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.listFilesAndDirs(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Collection;
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at net.thucydides.core.reports.ReportService.waitForReportGenerationToFinish(ReportService.java:201)
        ... 17 more
Caused by: java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.listFilesAndDirs(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Collection;
        at net.thucydides.core.files.TheDirectoryStructure.maxDepth(TheDirectoryStructure.java:58)
        at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.lambda$maxDirectoryDepthIn$2(FileSystemRequirementsTagProvider.java:206)
        at java.base/java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:212)
        at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1608)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.IntPipeline.reduce(IntPipeline.java:496)
        at java.base/java.util.stream.IntPipeline.max(IntPipeline.java:459)
        at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.maxDirectoryDepthIn(FileSystemRequirementsTagProvider.java:207)
        at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.<init>(FileSystemRequirementsTagProvider.java:129)
        at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.<init>(FileSystemRequirementsTagProvider.java:78)
        at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.<init>(FileSystemRequirementsTagProvider.java:73)
        at net.serenitybdd.cucumber.service.CucumberTagProviderStrategy.getTagProviders(CucumberTagProviderStrategy.java:34)
        at net.thucydides.core.statistics.service.ClasspathTagProviderService.tagProvidersThatCanProcess(ClasspathTagProviderService.java:80)
        at net.thucydides.core.statistics.service.ClasspathTagProviderService.loadTagProvidersFromPath(ClasspathTagProviderService.java:56)
        at net.thucydides.core.statistics.service.ClasspathTagProviderService.tagProvidersFor(ClasspathTagProviderService.java:36)
        at net.thucydides.core.statistics.service.ClasspathTagProviderService.getTagProviders(ClasspathTagProviderService.java:28)
        at net.thucydides.core.model.TestOutcome.getTags(TestOutcome.java:1854)
        at net.thucydides.core.model.TestOutcome.addVersionsDefinedInTagsTo(TestOutcome.java:1734)
        at net.thucydides.core.model.TestOutcome.getVersions(TestOutcome.java:1729)
        at net.thucydides.core.model.TestOutcome.calculateDynamicFieldValues(TestOutcome.java:349)
        at net.thucydides.core.reports.json.gson.GsonJSONConverter.toJson(GsonJSONConverter.java:81)
        at net.thucydides.core.reports.json.JSONTestOutcomeReporter.generateReportFor(JSONTestOutcomeReporter.java:60)
        at net.thucydides.core.reports.ReportService.generateReportFor(ReportService.java:239)
        at net.thucydides.core.reports.ReportService.lambda$generateReportsFor$0(ReportService.java:177)
        ... 5 more
EN

回答 1

Stack Overflow用户

发布于 2020-04-27 09:23:23

在我更改了以下Maven依赖项之后,它就可以工作了:

代码语言:javascript
复制
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61438721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档