Java copyInputStreamToFile方法不存在
我试图在代码中使用copyInput方法,但Intellij似乎告诉我该方法不存在 FileUtils.copyInputStreamToFile(response.getEntity().getContent(),downloadedFile) 我正在使用这里的代码 但这里似乎存在这种方法 我用的是maven,我试过用2.0,2.1,2.4,但运气不好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&
<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'
完整、准确的错误消息是什么?您使用的是什么版本的apachecommons.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>