[
https://issues.apache.org/jira/browse/IO-663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17571897#comment-17571897
]
Sita Geßner commented on IO-663:
--------------------------------
We have a similar issue when filtering directories where some of the
directories don't have read rights.
This should not lead to an exception. Directories without read rights should be
ignored.
{noformat}
java.nio.file.AccessDeniedException: C:\avviso\lokaleCi\postbox\SB2
at
java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at
java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at
java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at
java.base/sun.nio.fs.WindowsDirectoryStream.<init>(WindowsDirectoryStream.java:86)
at
java.base/sun.nio.fs.WindowsFileSystemProvider.newDirectoryStream(WindowsFileSystemProvider.java:523)
at java.base/java.nio.file.Files.newDirectoryStream(Files.java:472)
at java.base/java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:300)
at java.base/java.nio.file.FileTreeWalker.next(FileTreeWalker.java:373)
at java.base/java.nio.file.Files.walkFileTree(Files.java:2761)
at org.apache.commons.io.FileUtils.listAccumulate(FileUtils.java:2076)
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:2132)
{noformat}
> FileUtils.copyDirectory(File srcDir, File destDir) fails on Windows
> -------------------------------------------------------------------
>
> Key: IO-663
> URL: https://issues.apache.org/jira/browse/IO-663
> Project: Commons IO
> Issue Type: Bug
> Reporter: Elliotte Rusty Harold
> Priority: Critical
>
> This bug is shared (likely because of code copied from one place to another)
> between the similar methods in commons IO, codehaus-plexus-utils, and
> maven-shared-utils.
> I don't have an isolated test case because this bug is platform specific and
> I've only seen it in Jenkins CI builds on Windows using JDK 7 through 15. I
> don't have a Windows system handy to test it. However it is reproducible.
> Typical code that triggers it is in RestoreBackupPomsPhaseTest in
> maven-release:
> {{// copy poms so tests are valid without clean}}
> {{ File sourceDir = getTestFile( "src/test/resources" + projectPath );}}
> {{ File testDir = getTestFile( "target/test-classes" + projectPath );}}
> {{ FileUtils.copyDirectoryStructure( sourceDir, testDir );}}
> I don't know whether there might be something weird in the setup of those two
> directories that's involved.
> Typical error message is:
> Caused by: java.nio.file.FileSystemException:
>
> F:\jenkins\jenkins-slave\workspace\maven-box_maven-release_windows@2@2\windows-jdk8-m3.6.x_build\maven-release-manager\target\test-classes\projects\restore-backup-poms\basic-pom\pom.xml:
> The process cannot access the file because it is being used by another
> process
> "The process cannot access the file because it is being used by another
> process" I think points to the root of the bug. This is a Windows file system
> error message.
> Some history is here where I noticed it:
> [https://github.com/apache/maven-release/pull/42]
> In this case, I started with plexus-utils 3.1.0 which worked, upgraded to
> plexus-utils 3.3.0, which didn't. And then tried the FileUtils.copyDirectory
> from both maven-shared-utils and commons-io, all of which failed in the same
> way.
> I think this is caused by the use of NIO, which doesn't work quite the same
> when copying files on Windows as on Linux and Mac OS X.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)