Jörg Kubitz created MSHARED-1122: ------------------------------------ Summary: FileUtils: avoid getCanonicalPath() Key: MSHARED-1122 URL: https://issues.apache.org/jira/browse/MSHARED-1122 Project: Maven Shared Components Issue Type: Improvement Components: maven-shared-utils Environment: Windows Reporter: Jörg Kubitz Attachments: image-2022-08-22-18-18-52-811.png
On JDK 11 the result has been cached with in JVM. Since JDK 12 the result is not cached anymore by default (See [https://bugs.openjdk.java.net/browse/JDK-8207005]) and now very slow on windows. For org.apache.maven.shared.utils.io.FileUtils.copyFile(File, File) please use java.nio.file.Files.isSameFile(Path, Path) instead. note: it's needed to call file.exists() before using Files.isSameFile() or catch NoSuchFileException @see [https://git.eclipse.org/r/c/platform/eclipse.platform.resources/+/180308/10/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFile.java] for a similar fix. Here is a screenshot of sampling eclipse showing getCanonicalPath() as a hotspot: !image-2022-08-22-18-18-52-811.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)