Java copyInputStreamToFile方法不存在

Java copyInputStreamToFile方法不存在,java,maven,file-io,Java,Maven,File Io,我试图在代码中使用copyInput方法,但Intellij似乎告诉我该方法不存在 FileUtils.copyInputStreamToFile(response.getEntity().getContent(),downloadedFile) 我正在使用这里的代码 但这里似乎存在这种方法 我用的是maven,我试过用2.0,2.1,2.4,但运气不好 <dependency> <groupId>commons-io</groupId&

我试图在代码中使用copyInput方法,但Intellij似乎告诉我该方法不存在

FileUtils.copyInputStreamToFile(response.getEntity().getContent(),downloadedFile)

我正在使用这里的代码

但这里似乎存在这种方法

我用的是maven,我试过用2.0,2.1,2.4,但运气不好

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.2</version>
    </dependency>

公地io

您的类路径上可能有另一个(较旧的)
org.apache.commons.io.FileUtils
,这将解释您遇到的问题。很可能您的一个依赖项在类路径上有一个旧的
org.apache.commons:commons io
工件。由于groupId的差异,Maven将它们视为不同的工件,并将它们都放在类路径上

如果真的是这样,您可以通过向引用旧commons io的依赖项添加
排除
,明确禁止maven包含此可传递依赖项(即使它以可传递的方式依赖它):


冒犯的.artifact.groupId
冒犯的,冒犯的,冒犯的
org.apache.commons
公地io

我使用菜单选项“在IntelliJ IDEA中查找有问题的类:菜单>导航>类>键入FileUtils”看到了错误的版本,大约有4个FileUtils


我在jar文件上导入了正确的版本,它解决了问题,谢谢@Anton。

我也遇到了同样的问题,但似乎我有旧版本的commons io。我通过将pom.xml文件中的版本更改为2.6来修复它。

FileUtils.copyInputStreamToFile(inputStream,file)

此功能可用于两(2)个以上的版本。您需要将此行添加到渐变:


implementation'org.apache.directory.studio:org.apache.commons.io:2.4'

完整、准确的错误消息是什么?您使用的是什么版本的apache
commons.io
?@Andreas我已经编辑了这个问题,您可以看到更多关于它的详细信息。很明显,您使用的
FileUtils
版本不正确。但这不是火箭科学,你可以用大约五行Java自己编写。你是否可能收到了一个不正确的commons io版本?例如,您是否使用一些代理来获取Maven依赖项?最新的IntelliJ IDEA包含一个反编译器,当您按住ctrl键并单击
FileUtils
时,该反编译器将自动显示代码。如果选中此项,则可以验证
FileUtils
确实包含该方法。或者,您可以通过在本地存储库(通常在
~/.m2/repository
下)中查找下载的jar来验证其本身。要在IntelliJ IDEA中查找有问题的类,请执行以下操作:菜单>导航>类>键入
文件utils
>(可能需要选择“包含非项目文件”)。这将显示类路径上可用的
FileUtils
类的列表,包括包含它的依赖项(可能是可传递的)。如果您已经知道它肯定来自
org.apache.commons:commons:io
,您可以检查
依赖项:树
,以查找哪些依赖项以传递方式引用它,尽管也可以使用IntelliJ maven相关功能来执行此操作。
FileUtils.copyInputStreamToFile(inputStream,file)
是在
org.apache.commons.io
中编写的,因此需要包含该库+1.
<dependency>
  <groupId>offending.artifact.groupId</groupId>
  <artifactId>offending.artifact.artifactId</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-io</artifactId>
    </exclusion>
  </exclusions>
</dependency>