[MSHARED-1107] FileUtils.copyFile() fails with source file having lastModified = 0 (original) (raw)
- Type:
Bug
- Status: Closed
- Priority:
Major
- Resolution: Fixed
- Affects Version/s: maven-shared-utils-3.2.0
- Component/s: None
The condition in https://github.com/apache/maven-shared-utils/blob/2bf1e034b06557830b9e2bfe0689f1b93ea5fbd0/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java#L1904 returns false in case the source file returns File.lastModified() = 0 as File.lastModified() also returns 0 for non-existing files (https://docs.oracle.com/javase/7/docs/api/java/io/File.html#lastModified()). This leads to the following exception when trying to set permissions in case the destination does not yet exist.
java.nio.file.NoSuchFileException: at sun.nio.fs.UnixException.translateToIOException (UnixException.java:92) at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:111) at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:116) at sun.nio.fs.UnixFileAttributeViews$Posix.setMode (UnixFileAttributeViews.java:254) at sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions (UnixFileAttributeViews.java:276) at java.nio.file.Files.setPosixFilePermissions (Files.java:2080) at org.apache.maven.shared.utils.io.FileUtils.copyFilePermissions (FileUtils.java:1997) at org.apache.maven.shared.utils.io.FileUtils.copyFile (FileUtils.java:1978)
This is a regression introduced with MSHARED-884.
This method is for example used in maven-resources-plugin:
at org.apache.maven.shared.utils.io.FileUtils.copyFile (FileUtils.java:1978)
at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile (DefaultMavenFileFilter.java:106)
at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources (DefaultMavenResourcesFiltering.java:262)
at org.apache.maven.plugins.resources.ResourcesMojo.execute (ResourcesMojo.java:356)blocks
MRESOURCES-289 FileUtils.copyFile() fails with source file having lastModified = 0
- Closed
is broken by
MSHARED-884 Only overwrite filtered resources when contents differ
- Closed
is related to
MSHARED-1112 Copy symlinks failed - NoSuchFileException
- Closed
relates to
MRESOURCES-258 Only overwrite filtered resources when contents differ
- Closed
links to