java.lang.NoSuchMethodError:org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava / io / InputStream; Ljava / io / File;)

时间:2017-04-18 04:36:59

标签: java maven selenium-webdriver nosuchmethoderror

尝试使用selenium

启动firefox浏览器时

功能:

     System.setProperty("webdriver.gecko.driver", Constants.PROJECT_PATH+Constants.MARIONETTE_FIREFOX);
     log.info("Marionette file path: "+Constants.PROJECT_PATH+Constants.MARIONETTE_FIREFOX);
     MarionetteDriverManager.getInstance().setup();

在第3行,我收到了上述错误消息 -

"java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)"

我正在使用的Maven Dependency标签是

   <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>

在#Christian Lutz回答

之后添加了新的dependecy标签
    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>

如何重新解决问题?

2 个答案:

答案 0 :(得分:9)

在版本1.3.2中,班级FileUtils没有方法copyInputStreamToFile,您至少需要版本2.0

see当前版本2.5的javadoc。在那里你会找到方法和Since标签。

答案 1 :(得分:-1)

我正在使用Websphere 8.5.5.14,在我的情况下,我通过将commons-io-2.2.jar添加为共享librarie解决了该问题。